Formation M2i - Comprendre les neurosciences pour développer son leadership
09 visual basic .net - exercice - liste chainee
1. LISTE CHAINÉE
BUT
Exploiter les techniques vues en cours en matière de programmation orientée objet afin de comprendre le
fonctionnement des collections.
DEFINITION : LISTE CHAINEE
Une liste chaînée désigne en informatique une structure de données représentant une collection ordonnée et
de taille arbitraire d'éléments de même type.
L'accès aux éléments d'une liste se fait de manière séquentielle : chaque élément permet l'accès au suivant
(contrairement au cas du tableau dans lequel l'accès se fait de manière absolue, par adressage direct de
chaque cellule dudit tableau).
PRINCIPE
Le principe de la liste chaînée est que chaque élément possède, en plus de la donnée, des pointeurs vers les
éléments qui lui sont logiquement adjacents dans la liste. De ce fait, l'usage d'une liste est préconisé pour des
raisons de rapidité de traitement, lorsque les insertions et suppressions d'élément en tout point sont
relativement plus fréquentes que les accès simples.
En effet, une insertion ou une suppression se font en temps constant car elles ne demandent au maximum que
deux accès en écriture. En revanche, l'accès à un élément aléatoirement positionné nécessite le parcours de
chaque élément qui sépare l'index de l'élément choisi. Il est donc préférable d'accéder aux éléments
séquentiellement.
CHAINAGE
Comme on le voit sur le schéma ci-dessous, deux informations composent chaque élément de la liste chaînée :
la valeur associée à l'élément (ou donnée d'exploitation),
un pointeur vers l'élément suivant (ou successeur).
Comme un seul élément de la liste est pointé, l'accès se fait uniquement dans un sens.
Une liste simplement chaînée, composée de trois
éléments ayant respectivement la valeur : 12, 99 et 37.
2. AJOUT D'UN ÉLÉMENT
Voici la représentation schématique de l'ajout d'un nouvel élément f après un élément e se trouvant dans une
liste simplement chaînée. La procédure se fait en deux étapes :
le successeur de e devient le successeur de f ;
f devient le successeur de e.
Situation initiale
Première étape
Seconde étape
TRAVAIL À RÉALISER
1. Implémentez une liste simplement chaînée en utilisant les techniques orientées objet sous Visual Basic
.NET
2. Décrivez en quelques mots, comment peut-on améliorer cette liste pour que son parcours soit
possible dans les deux sens.
3. Est-il possible de rendre les éléments de la liste accessibles par index ? Si oui, décrivez comment.