Liste doublement chainée

SlimJ -  
 SlimJ -
Bonjour,

salut,

soit la representation suivante :

struct noeud 
{
struct noeud *suivant;
struct noeud *precedent;
char info;
};


struct liste
{
struct noeud *téte;
struct noeud *queue;
}


si maintenant on fait la declaration suivante

struct liste * maliste



pouvez vous m'aider a comprendre on me donnant une figure ou qqe chose qui m'explique cette reprsentation en mémoire ?

merci bcp



A voir également:

2 réponses

jackdada Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   19
 
Bonjour,
Les liste chainé son un moyen de stocker en mémoire plusieurs éléments de même type qui vont être relié entre eux sous forme de chaine grâce à leur adresse. Tu as du normalement déjà voir comment sont stocker en mémoire les variable. Comparé à un tableau, l'avantage de la liste est qu'elle n'a pas de taille fixe, quand je veux ajouter un élément, j'ai juste à casser la chaine à l'endroit ou je veux le placer et l'accrocher à l'élément précédent et l'élément suivant. De même pour en supprimer un, je le retire et raccroche ma chaine ensuite.
regarde cette image elle pourras t'aider à comprendre https://chgi.developpez.com/dblist/liste.gif
Les liste chainé (double ou simple, le principe est toujours le même) fonctionne à partir de structure et la gestion de la mémoire ne se fait pas toute seul comme pour un type "classique" (char, int...) c'est à toi de réserver l'espace mémoire et de le libérer quand tu n'en veux plus.

La structure noeud permettra de définir tes maillon de la liste chainé. Cette structure contient ce que tu veux stocker dedans ici la variable info qui est de type char, mais tu peux très bien y stocker d'autre variable. Elle contient ensuite un pointeur sur le maillons suivant ainsi qu'un pointeur sur le maillons précédent si la liste est doublement chainé

la structure liste est la pour stocker l'adresse pointant vers la tête de ta liste et l'adresse pointant vers la queue de liste.

Je te conseil d'aller jetez un coups d'oeil sur open classroom le chapitre sur les liste est bien expliqué. https://openclassrooms.com/courses/les-listes-chainees-2
0
SlimJ
 
merci pour la réponse
0
SlimJ
 
bonjour, meric pour la réponse.
alors si j'ai bine compris est ce que je peux imaginer la représentation mémoire comme ca ?:

http://www.hostingpics.net/viewer.php?id=401820essaie2.png

merci.
0