Вы находитесь на странице: 1из 11

Les listes chainées

Préparé par :
Touré Djamana
Plan d’exposé

Introduction
I. Définition
II. Les différentes types de listes chaînées
III. Liste chaînée et variable dynamique
IV. Représentation d’une liste en mémoire
V. Les listes chaînées et tableau
Conclusion
Introduction
Une liste chaînée c'est un système informatique qui permet la sauvegarde
dynamique de données en mémoire tout comme des variables ou tableaux mais
sans se préoccuper de leur nombre et en rendant leur allocation plus transparente.
On dit liste chaînée car les données sont chaînées les unes avec les autres. On
accède aux données à l'aide d'un ou deux points d'entrées qui se situent la plus
part du temps aux extrémités de la liste.
Dans la pratique ces points d'entrées seront des pointeurs soit sur le premier ou le
dernier élément de la liste voir sur les deux ou même mobiles.
Les éléments de la liste sont chaînés entre eux à l'aide de pointeurs sur leurs
éléments suivants ou précédents voir sur les deux. Ces pointeurs doivent donc
faire partie de l'élément. Ce qui nous orientera vers l'utilisation d'une structure
du langage C (struct). Cette structure aura donc la particularité d'avoir au
moins un pointeur sur des variables du même type qu'elle. Ce pointeur servira
à relier les éléments de la liste entre eux. La structure contiendra bien sûr
aussi les données que l'on veut mémoriser.
I. Définition : Une liste chaînée est une structure linéaire qui n'a pas de
dimension fixée à sa création. Ses éléments de même type sont éparpillés
dans la mémoire et reliés entre eux par des pointeurs. Sa dimension peut
être modifiée selon la place disponible en mémoire.
II. Les différents types de listes chaînées :
Il existe différents types de listes chaînées :
1. Liste chaînée simple constituée d'éléments reliés entre eux par des pointeurs.
2. Liste chaînée ordonnée où l'élément suivant est plus grand que le précédent.
L'insertion et la suppression d'élément se font de façon à ce que la liste reste
triée.
3. Liste doublement chaînée où chaque élément dispose non plus d'un mais de
deux pointeurs pointant respectivement sur l'élément précédent et l'élément
suivant. Ceci permet de lire la liste dans les deux sens, du premier vers le
dernier élément ou inversement.
4. Liste circulaire où le dernier élément pointe sur le premier élément de la liste.
S'il s'agit d'une liste doublement chaînée alors le premier élément pointe
également sur le dernier.
III. Liste chaînée et variable dynamique :
Les listes chaînées font appel à la notion de variable dynamique.
Une variable dynamique:
 Est déclarée au début de l'exécution d'un programme,
 Elle y est créée, c'est-à-dire qu'on lui alloue un espace à occuper à une adresse
de la mémoire,
 Elle peut y être détruite, c'est-à-dire que l'espace mémoire qu'elle occupait est
libéré,
 L'accès à la valeur se fait à l'aide d'un pointeur.
 Un pointeur est une variable dont la valeur est une adresse mémoire. Un
pointeur, noté P, pointe sur une variable dynamique notée P^.
IV. Représentation en mémoire d’une liste :
Voici en exemple la représentation en mémoire de la liste des patients
selon leur ordre d’arrivée dans une salle d’attente chez le médecin.
Soit la liste chaînée suivante (@ indique que le nombre qui le suit représente une
adresse) :
@500 @10 @200
Dupon 12 :20 @10 Duroc 12 :32 @200 Dufour 13 :05 NULL
d
V. Liste chaînée et tableau :
On utilise une liste chaînée plutôt qu'un tableau lorsque l'on doit traiter des objets
représentés par des suites sur lesquelles on doit effectuer de nombreuses
suppressions et de nombreux ajouts. Les manipulations sont alors plus rapides
qu'avec des tableaux.
Exemple:
Structure Dimension Position d’une Accès a une information
information

Tableau Fixe Par son indice Directement par l’indice

Liste chaînée Evolue selon les actions Par son adresse Séquentiellement par le
pointeur de chaque élément
Conclusion :
La liste chaînée est une structure de données récursive. Récursive, car une
liste est définie en fonction d’une autre liste. La liste chaînées peut être utilisé
pour de nombreuses applications diverses, et beaucoup plus efficaces qu’un
tableau dans certains cas.

Вам также может понравиться