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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 !