Admin Admin
Nombre de messages : 138 Age : 38 Date d'inscription : 02/09/2006
| Sujet: Inverser une liste chaînée Jeu 5 Oct - 14:29 | |
| - Code:
-
typedef struct liste { int noeud; liste *next; } liste;
liste *inverse_liste (liste *lst) { liste *tmp1; /* pointeur vers le suivant dans la liste lst */ liste *tmp2; /* pour memoriser lst de manière temporaire */
/* initialisation */ if(lst!=NULL) { tmp1 = lst->next; lst->next = NULL;
while (tmp1!= NULL) { /* on memorise l'adresse du suivant de tmp1*/ tmp2 = tmp1->next;
tmp1->next = lst; /* on met le next de tmp1 a jour */
lst = tmp1; /*On décale lst */ tmp1 = tmp2; /* on passe au suivant de l'ancienne lst */ } } return lst; }
| |
|