supprimer dernier élément d'une liste simplement chainée
Bonjour tout le monde,
Je voudrais supprimer le dernier noeud d'une liste simplement chainée
voici le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| liste delete_last(liste I)
{
liste p=I;
liste l=NULL;
liste t=NULL;
while(p->next->next!=NULL)
{
p=p->next;
}
l=p;
t=p->next;
l->next=NULL;
free(t);
return I;
} |
Le problème c'est que lors de l'exécution il m'affiche une boite: debug error
damage: after normal block (#46) at (0x00431E80)
à ce qu'il parait il y a un problème dans le free parceque quand j'ai supprimé la ligne de free ça a marché!!
Je ne sais pas quel est le problème
aidez moi SVP
Merci pour votre aide