Nous allons implémenter une liste doublement chaînée, contenant des std::string. Elles sera implémentée à l'aide de deux classes : Liste et Noeud.
-
Avant d'écrire les classes
ListeetNoeud, écrivez une fonction main qui manipule une liste. En particulier on créera une liste vide, on ajoutera des éléments au début, on inséra des éléments au milieux, on enlèvera des éléments, et on parcourra toute la liste en affichant son contenu. On fera en sorte que l'utilisateur de la classeListen'ait jamais à créer de nœuds lui-même. -
Créez les deux classes Liste et
Noeudde manière à ce que votre main fonctionne correctement. -
Faites en sorte que la liste soit correctement désallouée lorsque l'objet de type liste est détruit.
-
Comparez le fonctionnement de votre liste à celle de la bibliothèque standard (voir l'exemple).
-
Ré-implémentez votre main en utilisant
std::list. Pour le parcours de la liste, lisez l'introduction sur les itérateurs.