Liste chaine

Résolu/Fermé
aimeprogramme Messages postés 1 Date d'inscription samedi 25 février 2017 Statut Membre Dernière intervention 25 février 2017 - 25 févr. 2017 à 15:39
Chekchak Messages postés 29 Date d'inscription mardi 31 juillet 2012 Statut Membre Dernière intervention 21 mai 2019 - 13 mars 2017 à 02:13
bonjour j'ai commence a programme en C je voudrais savoir comment ajouté un element au debut et a la fin dans une liste chaine.Merci

1 réponse

Chekchak Messages postés 29 Date d'inscription mardi 31 juillet 2012 Statut Membre Dernière intervention 21 mai 2019 3
13 mars 2017 à 02:13
AU DEBUT :
ta liste :
P est le pointeur du debut qui pointe sur B
B C D E
Q est un nouveau pointeur , et on alloue un nouveau maillon A
Q--->A
P--->BCDE
pour assurer le chainage , on commence par
A.suivant=B;
ce qui donne :
Q-->ABCDE
mais aussi
P-->BCDE
alors on fait
P=Q;
et ça donne finalement
P-->ABCDE
.

A LA FIN :
ta liste :
P pointe sur le Debut (B)
P--> BCDE
on utilise un nouveau pointeur Q , pour parcourir la liste .
Q=P;
while(Q.suivant!=NULL){// PAS Q!=NULL , pour s'arreter au dernier maillon
Q=Q.suivant;}
on utilise un autre pointeur R pour allouer le nouveau maillon F
donc
(la je prends que la fin de la liste mais elle est liée )
Q-->E
R-->F
la on fait Q.suivant=R;
ça donne
P-->ABCDEF
(utilise une fonction pour te debarasser des pointeur a la fin du programme)
si c'est trop compliqué essayes de dessiner les maillon et déroule ce que je viens de t'expliquer , sinon donne moi la déclaration du type liste et je te code le truc , bon courage et sorry for my bad french lol
0