Académique Documents
Professionnel Documents
Culture Documents
02-Listes Chainees
02-Listes Chainees
Listes chainées
EL Moukhtar ZEMMOURI
ENSAM – Meknès
Version – 2022/2023
Définitions
• è Problèmes :
o Taille fixe du tableau
o L’insertion nécessite un décalage
Définition
• Une liste est une structure de données contenant un ensemble d’éléments de même type qui
sont chainés entre eux.
o C’est une structure de données qui facilite l’ajout et la suppression d’éléments.
• Une liste simple est une liste telle que chaque élément contient :
o Une donnée (des informations caractéristiques de l’application).
o Un pointeur vers l’élément suivant ou une marque de fin s’il n’y a pas d’élément successeur.
premier
• Remarques : } Element;
premier dernier
• Listes circulaires
o Le pointeur du dernier élément pointe sur le premier élément,
au lieu de la marque de fin (NULL)
premier
• Pour la gestion d’une liste chainée on doit disposer des fonctions suivantes :
o Création et initialisation d’une liste vide
• Pour la gestion d’une liste chainée on doit disposer des fonctions suivantes :
o Ajouter un élément en tête de liste
• Pour la gestion d’une liste chainées on doit disposer des fonctions suivantes :
o Supprimer l’élément en tête de liste
• Pour la gestion d’une liste chainées on doit disposer des fonctions suivantes :
o Création d’une copie de la liste è copy
Définition et initialisation
premier
Ajout et suppression
au début et à la fin
Suppression au début
• Liste vide
Suppression à la fin
• Fonction d’insertion :
• Fonction de suppression :
Element * supprimer (Element * premier, int pos){
if (premier == NULL || pos<0) return premier;
if (premier->suivant == NULL || pos==0) return supprimer_debut (premier);
int i = 1;
Element *p = premier;
while (i<pos && p->suivant->suivant != NULL){
i++;
p = p->suivant;
}
if (i==pos){
Element *q = p->suivant;
p->suivant = q->suivant;
delete q;
}
return premier;
}
Parcours
Programmation avancée
Listes chainées
EL Moukhtar ZEMMOURI
ENSAM – Meknès
Version – 1.0