Suppression dans une liste doublement chainée

Fermé
marsilla02 Messages postés 5 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 4 mai 2009 - 9 avril 2008 à 15:38
marsilla02 Messages postés 5 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 4 mai 2009 - 9 avril 2008 à 22:42
Bonjour, j'ai réalisé une fonction permettant de supprimer un élément d'une liste doublement chainée mais le prof ne nous a pas expliqué comment le faire. Donc j'ai tenté de réaliser cete fonction par mes propres moyens mais évidemment, elle ne fonctionn pas. Pourriez- vous m'aider et me dire ce qui ne fonctionne pas? Merci d'avance

Voici le code de la fonction
typedef struct listed
{int inf;
struct listed *suiv;
struct listed *prec;
}list, *plist;


plist suppression(plist tete, int elt)
{
plist p1,p2,p3;
if(tete==NULL)
{
return(NULL);
}
if(tete->inf>elt)
{
p1=tete->suiv;
free(tete);
return p1;
}
p1=tete; p2=tete->suiv; p3=p2->suiv;
while(p2!=NULL)
{
if(p2->inf==elt)
{
p1=p1->suiv;
p2=p2->suiv;
p3=p3->prec;
}
p1->suiv = p2->suiv;
p2->suiv = p3->suiv;
free(p3);
return tete;
}
return tete;
}
A voir également:

2 réponses

marsilla02 Messages postés 5 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 4 mai 2009
9 avril 2008 à 15:55
Personne?
0
marsilla02 Messages postés 5 Date d'inscription mercredi 9 avril 2008 Statut Membre Dernière intervention 4 mai 2009
9 avril 2008 à 22:42
Je relance ma demande
0