Ce document
appartient à :
M2 : listes chainées
Principes des listes chainées .............................................................. 1
1. Une chaine constituée de maillons ...................................................... 1
Définition ....................................................................................................... 1
Le maillon d'une liste chainée .............................................................................. 1
Représenter une liste chainée ............................................................................. 1
Le début d'une liste chainée ............................................................................. 2
Parcourir une liste chainée ….......................................................................... 2
Marquer la fin d'une liste chainée .............................................................................. 3
2. Trois types de listes chainées …............................................................. 4
Simple ................................................................................................................... 4
Symétrique ou doublement chainée …............................................................. 4
Circulaire simple, double …....................................................................................... 4
3. Deux implémentations possibles ...................................................... 4
Allocation dynamique de mémoire …............................................................. 4
Allocation contiguë de mémoire ….............................................................. 4
4. Les actions sur une liste chainée ...................................................... 6
5. Généricité …................................................................................... 6
6. Liste et "tas" ….................................................................................. 7
Implémenter une liste simple en dynamique …...................... 1
1. Structure de données …............................................................ 1
2. Liste vide …................................................................................. 1
3. Ajouter ….................................................................................. 1
Initialiser un élément …....................................................................................... 1
Ajouter au début ….................................................................................................... 2
Ajouter à la fin ….................................................................................................... 3
4. Insérer ….................................................................................. 5
5. Parcourir ….................................................................................. 8
6. Supprimer …........................................................................................ 9
Supprimer début ….................................................................................................... 9
Supprimer fin …........................................................................................................... 10
Supprimer un élément correspondant à un critère ….................................................. 12
Supprimer tous les éléments correspondants à un critère …..................................... 14
7. Extraire …......................................................................................... 16
Extraire début ….................................................................................................... 17
Extraire fin ….................................................................................................... 17
Extraire sur critère ….................................................................................................... 17
8. Détruire une liste …........................................................................ 18
9. Copier une liste …........................................................................ 18
10. Sauvegarder une liste …............................................................. 19
Ecrire dans un fichier (save) …........................................................................... 19
Lire dans un fichier (load) …........................................................................... 20
11. Test dans le main() ….............................................................. 21
Implémenter une liste circulaire (dynamique) …............................... 1
1. Principe …......................................................................................... 1
2. Liste circulaire dynamique simple ….................................................... 1