Académique Documents
Professionnel Documents
Culture Documents
Listes doublement
chaînées
Naoual Nassiri
GI S2
2023-2024
Définition
❑Contrairement aux listes simplement chaînées, la liaison
entre les éléments d’une liste doublement chaînée se fait
grâce à deux pointeurs :
➢Le premier pointe vers l'élément précédent
➢Le deuxième pointe vers l'élément suivant
NULL precedent
debut
valeur valeur ⋯⋯
debut NULL suivant suivant
valeur
suivant
Nouvel élément Structures de données - N. Nassiri 9
Insertion au début de la liste
precedent
Nouvel valeur
élément suivant Structures de données - N. Nassiri 13
Insertion au rang k de la liste
void ins_liste (Liste1 *L, int n, int posit){
Element *courant, *nouv_Elem;
int i;
nouv_ Elem=malloc(sizeof(Element));
nouv_ Elem ->valeur=n;
courant = L->debut;
for(i=1; i<posit; i++)
courant = courant->suivant;
nouv_ Elem->suivant = courant->suivant;
nouv_ Elem->precedent = courant;
courant->suivant->precedent= nouv_ Elem;
courant->suivant = nouv_ Elem;
L->taille++;} Structures de données - N. Nassiri 14
Suppression d’un élément de la liste