Vous êtes sur la page 1sur 2

Exercice 1 : Liste chaine Le but de cet exercice est de vous faire manipuler les listes chanes par un exemple

concret : une file d'attente. Supposons une file d'attente de cinma. Sa capacit de stockage est illimite (c'est un cinma gant). Une personne est dfinie par son nom et son prnom. 1) Crer une classe Personne contenant un champ pour le nom et un champ pour le prnom, un constructeur prenant en paramtre deux String pour le nom et le prnom, et une fonction toString retournant le nom et le prnom sous forme de String. 2) Complter cette classe pour ajouter une rfrence sur la personne suivante dans la file (celle qui attend derrire). Ajouter une fonction setSuivant(Personne p) qui dfinit le suivant de la personne et une fonction getSuivant() qui retourne la Personne suivante dans la file. 3) Crer une classe FilleAttente. Cette classe possde deux champs de type Personne : un champ tete (dbut de la file d'attente) et un champ queue (fin de la file d'attente). Le constructeur prend en paramtre 1 objet de type Personne et remplit tete et queue (la premiere personne est la tte et la queue en mme temps).Crer une fonction ajouter(Personne p) qui ajoute une personne en bout de file. Crer la fonction afficherFile() qui affiche les personnes qui attendent dans la file d'attente. Un exemple d'affichage de cette fonction pourrait tre : Jojo Lafrousse - Pierre Delacroix - Jean Lartige - Fin de la file ! 4 Crer une classe AppliFile. Cette classe cre une file d'attente contenant une personne, y ajoute 5 personnes (faut bien faire bosser le caissier) avec les noms de votre choix, et l'affiche. Exercice 2 : Il s'agit de dfinir une classe modlisant une pile d'entiers +. Ncessairement, tous les attributs de cette classe auront le modificateur private, ce qui signifie qu'on ne peut pas les utiliser directement de l'extrieur de la classe (on dit encore qu'ils ne sont visibles que de leur propre classe). Cette classe possdera les trois mthodes suivantes (il faudra reprendre exactement les enttes indiques) : void empiler(int n) Cette mthode empile la valeur n reue en paramtre. int depiler() elle dpile un entier dont elle retourne la valeur, boolean estVide() Cette mthode retourne true si la pile est vide et false dans le cas contraire. Vous implmenterez en fait une pile de deux faons diffrentes, en dfinissant une classe pour chaque faon. La premire classe, nomme Pile1, utilisera un tableau d'entiers. Au dpart, ce tableau aura une certaine longueur, petite (par exemple 3); il faudra veiller agrandir

ce tableau lorsqu'il est plein et que l'on veut encore empiler un entier ; on pourra alors agrandir le tableau d'une quantit dtermine (par exemple 2). La seconde classe, nomme Pile2, utilisera une liste chane. Il faudra dfinir une classe supplmentaire pour modliser un maillon de cette liste. Dans ce fichier, il faudra juste changer Pile1 en Pile2 si on veut tester la classe Pile2.