Académique Documents
Professionnel Documents
Culture Documents
dz
En algorithmique : En langage C :
Type Element = Enregistrement typedef struct Element {
Val : Entier ; int val ;
Suivant: Liste ; struct Element* suivant ;
Fin } * Liste ;
Liste=^Element ;
Listing : Déclaration d’une liste en ALGO et en C
Comme on peut remarquer, rappelez-vous, chaque élément de notre liste regroupe ici deux
informations, et comme on sait déjà, pour regrouper des informations ensemble on doit utiliser les
enregistrements. Ce qui nous permet de déclarer notre propre type, ici on lui a affecté le nom
Element, donc la liste est un ensemble d’éléments de type enregistrement dont chacun possède
deux champs : un champs contenant une information (ici de type entier), et un champs de type Liste
qui est une adresse de l’élément qui le suit.
contenant l’adresse du premier élément, bien sûr au départ ce paramètre contient la valeur NULL.
Après exécution de l’algorithme, il produit en sortie dans le paramètre tête l’adresse de l’élément
Page
créé.
Université Badji Mokhtar , Annaba, Département d’Informatique, L2, ALGO-STD-2, sabri.ghazi@univ-annaba.dz
C) L’élément à supprimer se trouve dans la tête de la liste, dans ce cas on doit retirer cet
Page
élément et modifier la tête pour qu’elle pointe sur l’élément qui le suit.
Université Badji Mokhtar , Annaba, Département d’Informatique, L2, ALGO-STD-2, sabri.ghazi@univ-annaba.dz
Le principal avantage d’une liste doublement chaînée est qu’on peut la parcourir selon deux sens,
aussi les opérations d’ajout et de suppression sont plus simples, car le chaînage peut être mis à jour
facilement, car chaque élément possède un pointeur sur son prédécesseur.
Parcours d’une liste doublement chainée :
Procédure Parcourir1(tête:ListeDoublementChainée) ;
début
while(tête!=NULL)
début
Print(tête^.val) ;
tête=tête^.suivant ;
fin
fin
Listing Parcourir une liste doublement chaînée.
24
Dans le cas d’une liste doublement chaînée, lorsque l’élément en tête de liste contient l’adresse de
dernier élément, et ce dernier possède l’adresse de premier élément, la liste dans ce cas est une liste
Page