Salut à tous. Voila, j'ai une petite question concernant les listes doublement chaînées en C.
Ma liste est constitué d'éléments contenant une valeur entière, un pointeur sur l'élément précédent et un pointeur sur l'élément suivant.
J'essaye de faire une fonction d'insertion correcte mais je n'y parvient pas. Dans mon main, je crée une liste que j'initialise à NULL. Après ça, dans ma fonction insertion (qui prend en paramètre ma liste, et une valeur), je crée un élément de la liste, je fait l'allocation mémoire et j'ajoute la valeur. Jusqu’à la deuxième valeur tout va bien, j'ai bien mes deux valeurs dans la liste avec les parties "suivante" et "précédente" aux bonnes valeurs:
-Null | val | ptr sur 2eme val -> pour le 1er maillon
-ptr sur 1ere val | val | NULL -> pour le 2eme maillon
Mais j'ai un soucis quand j'essaye d'ajouter une troisième valeur, je n'arrive pas a me déplacer dans ma liste. J'ai essayer de faire un while((*maliste)->!=NULL) pour me positionner sur la dernière val de mon pointeur mais ca tourne en boucle, j'aimerais arriver à l'endroit ou est stocker ma 2ème valeur pour pouvoir donner à mon nouveau maillon la valeur de l'élément précedent.
Voila, ce n'est pas très clair (c'est peut être normal vu l'heure) désolé pour ça et j'espère que vous comprendrez.
Merci à vous.