Vous êtes sur la page 1sur 3

Chapitre 1: Généralités sur les listes

chainées
Une liste chainée est une structure sans dimension fixe. Ses éléments de types
identiques sont éparpillés dans la mémoire et reliée entre eux par des
pointeurs.

La liste est accessible uniquement par sa tête cad son 1er élément. La
séquence est mise en œuvre par le pointeur porte par chaque
élément qui indique l’emplacement de l’élément suivant. Le dernier
élément de la liste de pointe sur rien. On utilise les listes chainées en
lieu et place des tableaux lorsqu’on doit traiter des objets représente
par des suites sur les quelles on doit effectuer de nombreuses
suppressions et de nombreux ajouts. Les manipulations sont alors
plus rapides qu’avec les tableaux.

I. Quelques définitions
Un élément d’une liste est l’ensemble formée de :
 Une donnée ou information
 Un pointeur indiquant la position de l’élément le suivant dans la
liste
Une variable dynamique
 Est declaree au debut de l’execution d’un programme
 Se voit allouer un espace a occuper a une adresse de la
mémoire
 Peut etre detruite (l’espace qu’elle occupe est libere)
 Est accessible a l’aide d’un pointeur .
Un pointeur est une variable dont la valeur est une adresse mémoire.
II. Les listes chainées simples
Une liste chainée est composée
 Un ensemble d’élément tel que
Chacun contient un pointeur généralement nomme
suivant contenant l’adresse de l’élément suivant dans la
liste
Chacun est range en mémoire et a une adresse
Chacun contient une donnée
 D’une variable appelle tête contenant l’adresse du premier
élément de la liste chainée

III. Les listes doublement chainées


Ils existent les listes dites bidirectionnelles qui peuvent être
parcourue dans les deux sens du premier au dernier et
inversement.
Une liste doublement chainée est composée de :
 Un ensemble donné
 Un ensemble de pointeur suivant
 Un ensemble de pointeur précèdent
 Un pointeur sur le premier élément
Nb : Struct Liste{
Person *tete ;
}
Declartion : Liste a ;
Exemple
Typdef Struct Person{ typedef Liste{
Char Nom[50]; person*tete
Int age; }
Person*suiv;
}person

IV. Opération sur les listes chainées


1. Ajout d’un élément dans la liste

Liste vide
(exemple)

Liste pleine

2.

Vous aimerez peut-être aussi