Liste doublement chaînées
Bonjour, je voudrai savoir est ce que cette fonction d insertion en tete d une liste doublement chainees est correcte ou non :
typedef struct node
{ int ele;
struct node *prec;
struct node *suiv;
}listedc;
listedc *insertion-en-tete(listedc* l, int x)
{listedc *pr=(listedc)malloc(sizeof(listedc));
if(!pr){printf("prob de memoire");exit(-1);}
pr->ele=x;
pr->prec=NULL;
pr->suiv=l;
l->prec=pr;
l=pr;
return l;
}
typedef struct node
{ int ele;
struct node *prec;
struct node *suiv;
}listedc;
listedc *insertion-en-tete(listedc* l, int x)
{listedc *pr=(listedc)malloc(sizeof(listedc));
if(!pr){printf("prob de memoire");exit(-1);}
pr->ele=x;
pr->prec=NULL;
pr->suiv=l;
l->prec=pr;
l=pr;
return l;
}
1 réponse
-
Bonjour,
Le nom de la fonction n'est pas valide. Plutôt insertion_en_tete.
Le cast du malloc n'est pas valide. Plutôt l'enlever ou mettre (listedc*)
'l' est-il bien le premier de liste avant appel? Et si la liste est vide que vaut 'l'? S'il peut être vide, il faut corriger la fonction.-
-
-
@mast20non
-