Question sur les liste doublement chainée
Bonjour tt le monde alors j'ai besoin d'aide pour repondre a la question suivante :
Ecrire la fonction inserer_avant qui insere dans une liste doublement chainée LD , un entier e avant un noeud d'adresse pN
avec cette definition pour une liste doublement chainée :
Code:
1 2 3 4 5 6 7 8
|
typedef struct celluleD {
struct celluleD *precedent;
struct celluleD *suivant;
Element valeur;
} CelluleD;
typedef CelluleD *ListeD; |
Voici la fonction que j'ai rédiger et j'aimerais savoir si il est correcte :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
ListeD inserer_avant(ListeD LD, Element e,ListeD pN){
ListeD LDE=(ListeD*)malloc(sizeof(CelluleD));
//intialisation de la cellule a inserer
lde->valeur=e;
lde->suivant=NULL;
lde->precedent=NULL;
ListeD temp=pN;
//traitement pour inserer avant pN
temp=pN->precedent;
pN->precedent=lde;
lde->suivant=pN;
lde->precedent=temp;
return LD;
} |
Merci d'avance pour vos réponse ! :D