Académique Documents
Professionnel Documents
Culture Documents
Description
Une liste chaine est un ensemble d'lments ordonns suivant un chainage : ABCD Ce chainage peut tre revu dynamiquement (ajout, dplacement d'lments, etc.) : - ajout : ABCDE - insertion : ABECD - etc.
rfrences ou par pointeurs (on utilisera les pointeurs) sont plus souples et permettent des mises jour trs rapides. Exemple : l'insertion d'un lment E entre B et C dans ABCDE
avec un tableau, il est ncessaire de dcaler par copie C, D et E, puis d'craser C la position 3 avec une liste chaine, il suffit de mettre jour le suivant de l'lment B et de configurer correctement le nouvel lment insr.
Exercices 1
Implmenter les fonctions et procdures des spcifications suivantes d'une liste chaine :
class ListeChainee<Telt> Pour faire voluer ces structures, on modifie dynamiquement les relations dbut spcification entre les lments de la structure en vitant de rgnrer l'ensemble. proc init()
post-relation : Initialise vide la liste fonction logique estVide() post-relation : retourne vrai si la liste est vide proc ajoute(e) entre : Telt e post-relation ajoute e la fin de la liste proc insere(e,i) entre : Telt e, entier i post-relation : insre e la ime position dans la liste fonction entier nbElt() post-relation : retourne le nombre d lments de la liste
fonction logique existe(e) entre : Telt e post-relation : retourne vrai si e figure dans la liste proc supprimer(e) entre : Telt e pre-condition : e appartient la liste post-relation : supprime e de la liste fonction entier nbOccurence(e) entre : Telt e post-relation : retourne le nombre d occ.de e dans la liste proc inverser() post-relation : permet d inverser la liste proc trier() post-relation : permet de trier par slection la liste fin spcification dbut implmentation Attributs privs Maillon* p //p correspond l adresse du premier maillon de la liste Fin Attributs privs Fin implmentations
Exercice 2
Utiliser la liste chaine pour dvelopper les fonctionnalits de la classe Pile
Exercice 3
Utiliser la liste chaine pour dvelopper les fonctionnalits de la classe File.