Bonjour,

J'essai de faire une fonction qui retire tout les répétitions consécutifs d'un entier dans une liste mais en récursif. Ex: EnleverRepetitionDeListe (Liste L) => avec L=(1 2 2 2 3 3 4) donne la liste => (1 2 3 4). Le soucis est qu'il m'enleve qu'un seul nombre à chaque fois. Ex pour la liste ci-dessus j'aurais (1 2 2 3 4).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void EnleverRepetitionDeListe(Liste L)
{
       if ((L != NULL) && (L->suiv != NULL))
       {
               if ((L->suiv)->info == L->info)
               {
                        L->suiv = (L->suiv)->suiv;
               }
               else
               {
                        EnleverRepetitionDeListe(L->suiv);
               }
        }
        return ;
}
Merci