Portail de Jean-Philippe Monette http://www.jpmonette.net/ Portail traitant de divers sujets tel que l'environnement, la politique, l'informatique, ma vie et plusieurs autres. fr-ca Creative Commons Paternité - Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique 2.5 Canada Thu, 11 Mar 2010 20:16:02 EST Thu, 11 Mar 2010 20:16:02 EST Toutes Généré par le Portail de Jean-Philippe Monette http://www.rssboard.org/rss-specification 120 http://www.jpmonette.net/images/logos/header_title.png Portail de Jean-Philippe Monette http://www.jpmonette.net/ Les listes chaînées en C++: ça sauve la vie! http://www.jpmonette.net/view-43.html <p>Voici mon premier message dans la catégorie <a href="http://www.jpmonette.net/home-0-14.html">Programmation</a>. Je vais essayer de vulgariser le plus possible l'information donnée, quoique vulgariser de l'information qui est à la base complexe, c'est du sport...</p> <p>Ça fait déjà un bon moment que je me demandais comment créer des variables de taille dynamique en <a href="http://fr.wikipedia.org/wiki/C++">C++</a>, et c'est la semaine dernière que j'ai compris le fonctionnement bien simple de la chose (dans un cours d'informatique au cégep). En programmation, il est possible d'initialiser un <a href="http://fr.wikipedia.org/wiki/Tableau_%28structure_de_donn%C3%A9es%29">tableau de variables</a>&nbsp;: un tableau, c'est un regroupement de variables du même type (nombre, caractère, texte, etc.); une variable, c'est un espace mémoire contenant une valeur (des numéros, des mots et tralala). Ce tableau nous permet seulement de donner une taille fixe&nbsp;: si vous créez un tableau de 10 éléments et que vous souhaitez rajouter un onzième élément, vous allez devoir en créer un autre.</p> <p class="image"><a href="http://www.jpmonette.net/images/blog/0043/tableau.jpg"><img src="http://www.jpmonette.net/images/blog/0043/tableau.jpg" alt="Tableau représenté dans la mémoire" /></a><br /> <span class="image_figure">Schéma 1.0:</span> Tableau représenté dans la mémoire vive. Chaque adresse (en haut) pointe vers un octet (une lettre)</p> <p>Pour avoir la possibilité d'ajouter et de supprimer des éléments comme bon nous semble, nous devez faire appel à ce qu'on appel les variables dynamiques. C'est très pratique quand vous devez stocker beaucoup d'informations (comme dans une base de données). Le concept est très simple&nbsp;: à l'aide d'une structure (regroupement de variables, tous types distincts) comportant au moins deux variables&nbsp;: une pour le contenu et une autre pour le pointeur. Vous devrez pointer à l'aide du pointeur vers la structure suivante. Le dernière structure contiendra un pointeur de valeur nul (0 ou 00000000h), nous permettant de savoir que c'est le dernier élément de la liste.</p> <p class="image"><a href="http://www.jpmonette.net/images/blog/0043/liste.jpg"><img src="http://www.jpmonette.net/images/blog/0043/liste.jpg" alt="Liste chainée" /></a><br /> <span class="image_figure">Schéma 1.1:</span> <a href="http://fr.wikipedia.org/wiki/Liste_cha%C3%AEn%C3%A9e">Liste chainée</a>&nbsp;: chaque pointeur pointe vers la structure suivante</p> <p>Un <a href="http://fr.wikipedia.org/wiki/Pointeur">pointeur</a>, c'est une variable contenant une adresse mémoire. Chaque nouvelle structure créée possède une adresse l'identifiant dans la mémoire (comme un numéro de téléphone qui permet de retrouver un combiné), et c'est à l'aide de cette adresse que l'on peut insérer cette structure dans la liste.</p> <p>Je vous laisse découvrir comment programmer la bête&nbsp;: je crois en avoir déjà perdu plus de la moitié! Du moment que vous vous embourbés dans l'une des adresses de vos nombreuses structures, vous allez perdre une partie des informations&nbsp;: vous aurez l'air coquin si vos structures contenaient de l'information ultra importante, tel que des potins sur ma vie privée pleine de rebondissements. Là est le secret résidant dans les listes&nbsp;: la manipulation avec plein de tendresse et d'amour.</p> Programmation http://www.jpmonette.net/view-43.html#commentaires Mon, 29 Oct 2007 21:54:18 EST http://www.jpmonette.net/view-43.html Programmation