• Aucun résultat trouvé

ISTES CHAÎNÉES

N/A
N/A
Protected

Academic year: 2022

Partager "ISTES CHAÎNÉES"

Copied!
3
0
0

Texte intégral

(1)

Informatique et Science du Numérique

LISTES CHAÎNÉES

1. Introduction

Une liste chaînée est un ensemble de cellules liées entre elles par des pointeurs. Chaque cellule est une structure contenant les champs suivants :

• une ou plusieurs données comme dans n’importe quelle structure ;

• un pointeur suivant sur la cellule suivante.

On accède à la liste par un pointeur L sur la première cellule, puis en parcourant la liste d’une cellule à l’autre en suivant les pointeurs suivant . Le dernier pointeur suivant vaut NIL , ce qui indique la fin de la liste.

Exemple de liste chaînée avec 4 cellules

2. Déclarer une Liste Chaînée

Pour créer une liste chaînée, il faut déclarer une nouvelle structure de données : la structure qui représentera une cellule.

{ définition du type cellule } Cellule : enregistrement debut

donnee : type_donnée { définition des données } suivant : *Cellule { pointeur sur élément suivant } fin

3. Insertion en Tête de Liste

La fonction suivante prend en paramètre une liste et une donnée, et ajoute la donnée en tête de liste. La fonction renvoie la nouvelle adresse de la tête de liste.

11-liste_chainee.odt 1

(2)

Informatique et Science du Numérique

Fonction InsereEnTete(ancienL : *Cellule, donnee : TypeDonnee) : *Cellule variables :

nouveauL : *Cellule { nouvelle tête de liste } debut

nouveauL->donnee := donnee { on met la donnée à ajouter } nouveauL->suivant := ancienL { chaînage */

InsereEnTete := nouveauL { on retourne la nouvelle tête de liste } fin

Ne pas confondre l’utilisation du point . et l’utilisation de la flèche -> pour accéder aux champs d’un enregistrement. On utilise le point pour une variable de type enregistrement, et une flèche pour une variable de type pointeur sur enregistrement.

4. Parcours de Liste

L’idée du parcours de liste chaînée est de prendre un pointeur auxiliaire p. On fait pointer p sur la première cellule, puis le pointeur p passe à la cellule suivante (par une affectation p = p-

>suivant ). Le parcours s’arrête lorsque p vaut le suivant de la dernière cellule, c’est-à-dire lorsque p vaut NULL.

procedure Affichage(liste : *Cellule) debut

p : *Cellule := liste { on pointe sur la première cellule } tanque p <> NULL faire

debut

Afficher(p->donnee)

p := p->suivant { on passe à la cellule suivante } fin

fin

Lors du parcours, on s’arrête lorsque p vaut NULL , et non pas lorsque p->suivant vaut NULL.

En effet, p->suivant vaut NULL lorsque p pointe sur la dernière cellule. Il faut traiter cette

11-liste_chainee.odt 2

(3)

Informatique et Science du Numérique

dernière.

11-liste_chainee.odt 3

Références

Documents relatifs

60810 ROTI CUISSE DE FAON PARE PELE (pac) 800gr à 1.2 kg,noix 1°choix €/Kg.. 60840 SELLE DE FAON A L'OS parée entière,moins de 8

Entoure les oiseaux suivant la consigne.. Entoure les oiseaux suivant

remarque 2 : si on tape 2+3, le tableur affichera 5. On peut ensuite taper ce que l’on désire, en tapant le nom des cellules ou en allant cliquer dessus avec la souris, et en

e coursename : afficher le nom d’un professeur le plus ancien souhaitant enseigner le cours coursename f filename : recopie la liste chaînée qui en résulte dans le

On accède à la liste par un pointeur L sur la première cellule, puis en parcourant la liste d’une cellule à l’autre en suivant les pointeurs suivant.. Le dernier pointeur

En cas de danger extérieur, dès le reten9ssement de l’alarme « mise à l’abri », vous rester dans votre classe*, vous fermez les portes de votre classes, vous meEez des

339 du code électoral cité au point 4, sont éligibles au conseil régional les citoyens qui, d’une part, sont inscrits sur une liste électorale, quelle qu’en soit la commune,

Entoure les légumes suivant la consigne.. Entoure les légumes suivant