TECHNOLOGIE OBJET Implantation chaînée d’une structure de donnée générique
Exercice 1 : Réalisation chaînée
Intéressons nous à une réalisation de la pile qui s’appuie sur la classe Cellule pour chaîner
entre eux les éléments. L’objectif est d’écrire efficacement chacune des opérations pour qu’elles
s’exécutent en temps constant.
1.1 Indiquer comment chaîner les éléments entre eux pour que toutes les opérations s’exécutent
en temps constant. On pourra considérer l’exemple d’une pile vide dans laquelle on ajoute suc-
cessivement les éléments "a" puis "c" puis "b" et dont on dépile ensuite les éléments un à un.
1.2 Dessiner le diagramme de classe qui fait apparaître l’interface Pile, la réalisation PileChai-
nee et la classe Cellule.
1.3 Compléter la classe PileChainee qui est une réalisation de la pile s’appuyant sur l’organi-
sation précédente des cellules.
1.4 Tester la réalisation PileChainee en utilisant le programme de test fourni (PileChaineeTest).
Exercice 2 : Rendre les piles génériques
Une structure de données fonctionne de la même manière quel que soit le type des éléments
qu’elle est destinée à contenir. Pour éviter d’avoir à écrire plusieurs versions de la structure de
données et garder le contrôle de type, Java propose de paramétrer une interface, une classe ou
une méthode par un ou plusieurs types. C’est la généricité.
2.1 Modifier les types Pile (et autres classes) pour les rendre génériques. La classe de test devra
continuer à fonctionner.
2.2 Écrire un programme qui utilise une pile d’entiers, une pile de chaînes de caractères et une
pile de couleurs (java.awt.Color).
Exercice 3 : Symboles bien appairés
Écrire une méthode qui prend en paramètre une chaîne de caractères et vérifie que les paren-
thèses, crochets, accolades qu’elle contient sont appairés 1(la chaîne est bien parenthésée). Il
sera certainement utile de consulter la documentation de la classe String.
Objectifs
— Structures chaînées en Java
— Mise en œuvre de la généricité
1. On parle de langage de Dyck.
TP 8 2/2