Vous êtes sur la page 1sur 1

TD6- ASD 2022-2023 TD6- ASD 2022-2023

Liste chaînée bilatérale / bidirectionnelle / double


Liste doublement chaînée à plusieurs éléments
Exercice n°3:
Précèdent Suivant
100 25 54
ptliste
Dernier d q a e nil
Premier nil
1. Ecrire une fonction CreerLBi qui permet de créer une liste bilatérale.
2. Ecrire une procédure AjouterTete qui permet d’ajouter un élément à la tête d’une liste
Une liste doublement chaînée de caractères est une liste dans laquelle chaque élément contient
bilatérale.
trois champs : un pointeur "Prec" sur l’élément précédent, un caractère et un pointeur "Suiv"
3. Ecrire une procédure AjouterQueue qui permet d’ajouter un élément à la queue d’une liste
sur l’élément suivant. On appellera alors les éléments des "triplets".
bilatérale.
Ecrire la procédure SuppVoy qui supprime le premier triplet de la liste contenant une voyelle
4. Ecrire une procédure InsererApres qui permet d’insérer un élément après une position
(ou affiche rien si aucune voyelle se trouve dans la liste).
(adresse) dans une liste bilatérale.
Liste chaînée circulaire
5. Réécrire la procédure AjouterQueue en utilisant la procédure InsererApres.
Exercice n° 5:
6. Ecrire la procédure Rechercher qui permet de vérifier si un élément x existe dans la liste. On suppose que l’on manipule une liste chaînée circulaire (voir dessous pour les différentes
Elle renvoie vrai ou faux dans un paramètre trouve pour indiquer si l’élément x a été trouvé configurations possibles).
ou non et, dans un paramètre q, l’adresse de l’enregistrement contenant cet élément s’il Liste chaînée circulaire
3 LISTE VIDE nil
existe.
7 ptliste
7. Ecrire une procédure SupprimerVal (en utilisant la procédure Rechercher) qui permet de
supprimer un élément ayant une valeur donnée d’une liste bilatérale. ptliste
2
2 LISTE A UN SEUL 7
8. Ecrire une procédure SupprimerQueue qui permet de supprimer la queue d’une liste ELEMENT ptliste
bilatérale. LISTE A 4
PLUSIEURS 1
9. Ecrire une procédure ViderLBi qui permet de vider une liste bilatérale. ELEMENTS 3
10. Ecrire un algorithme qui permet de créer une liste bilatérale de N éléments et de faire ensuite
un affichage total de la liste. 1. Ecrire une fonction qui permet de créer une liste circulaire vide.
2. Ecrire une fonction qui permet de créer une liste circulaire de N éléments.
Exercice n°4: Listes doublement chaînées de caractères 3. Ecrire deux procédures qui permettent l’une d’insérer un élément au début d’une liste
circulaire et l’autre à la fin.
On suppose que l’on manipule une liste doublement chaînée (ci-dessous les différentes configurations
possibles). 4. Ecrire une procédure qui assure le parcours pour afficher une liste circulaire.

Liste doublement chaînée à un élément 5. Ecrire une fonction qui renvoie la longueur de cette liste chaînée circulaire, quel que soit
Liste doublement chaînée vide
l’état de la liste (vide, un élément ou plusieurs).
nil
ptliste d 6. Ecrire une fonction qui permet de vider une liste circulaire.
ptliste nil nil
Les fonctions doivent être générales, c’est-à-dire elles doivent fonctionner pour toutes les
listes chaînées circulaires possibles
Mme ABID Hajer 1èreGénie Informatique Mme ABID Hajer 1èreGénie Informatique
4 5

Vous aimerez peut-être aussi