Liste chainée suppression
Bonjour,
Je travaille actuellement sur les listes chainées en C, cependant je n'arrive pas à supprimer un élément en milieu de liste. Lorsque j'appelle ma fonction, seul un champ de la structure à l'air de disparaitre.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| t_compte* supprimerElement(t_compte *liste, int val)
{
if(liste == NULL)
return NULL;
if(liste->numeroCompte == val)
{
t_compte *tmp = liste->suivant;
free(liste);
tmp = supprimerElement(tmp, val);
return tmp;
}
else
{
liste->suivant = supprimerElement(liste->suivant, val);
return liste;
}
} |
Quelqu'un pourrait-il me guider ?
Merci d'avance