Bonjour,
Je précise tout d'abord que je travaille en c, sur compilateur visual studio, sous windows 7.
Je travaille sur les listes chainées, mon but ici est de réaliser une fonction permettant d'inverser une liste sans passer par une liste temporaire. Voici ,le code:
Sauf que cette fonction ne me renvoie que le premier élément de la liste. En remplacant le while par un for pour voir, le programme crash dès la deuxième itération. Je ne comprends pas pourquoi ca ne fonctionne pas...Code:typedef struct Cell Cell; typedef Cell* LcListe; struct Cell { int donnee; struct Cell* next; }; LcListe retourne_liste_en_place(LcListe head) { LcListe prev = NULL, cur = head, next = NULL; while (cur) { next = cur->next; cur->next = prev; prev = cur; cur = next; } return prev; }
Merci d'avance de votre aide bienvenue!
-----