Suppression dans une liste doublement chainée
marsilla02
Messages postés
6
Statut
Membre
-
marsilla02 Messages postés 6 Statut Membre -
marsilla02 Messages postés 6 Statut Membre -
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;
}
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:
- Suppression dans une liste doublement chainée
- Liste déroulante excel - Guide
- Forcer suppression fichier - Guide
- Liste code ascii - Guide
- Liste déroulante en cascade - Guide
- Suppression compte gmail - Guide