UFR de Mathématiques et d'Informatique |
IUP 1, DEUG 2, 2002/2003 |
Programmation orientée objet |
Travaux dirigés |
Séance 10, avril |
Non pilés
1 Les piles non bornées
On souhaite implanter la classe Pile des piles non bornées,
en utilisant la classe Liste écrite en TP.
La classe Pile doit fournir
les méthodes suivantes :
- public Pile () : crée une pile vide.
- void empiler (Object o)
- Object depiler ()
- Object sommet ()
- int hauteur ()
- boolean estVide ()
- void vider ()
- void swap () : inverse les deux éléments qui se trouvent au haut de la pile.
- String toString ()
On rappelle les méthodes de la classe Liste :
- Liste () : création d'une liste vide.
- Liste (Object o) : création d'une liste à un élément.
- boolean estVide ()
- Liste ajouterEnTete (Object o)
- Object tete ()
- Liste queue ()
- String toString ()
- int longueur ()
- boolean contient (Object o)
- Liste ajouterEnQueue (Object o)
- Liste concat (Liste l2)
- Liste inverse ()
2 Les entiers : le retour
On décide de proposer une implantation
de la classe Entier
plus efficace que celle réalisée en TP.
On décide donc de coder les entiers naturels en suivant
cette fois un codage en base 1,
et ce de la façon suivante :
un entier N contient un seul attribut, de type Entier,
qui est soit un pointeur nul (cas ou N = 0),
soit un entier (N - 1).
On définit donc la classe Entier :
public class Entier {
private Entier prec ;
...
}
Écrire pour cette classe les méthodes publiques suivantes :
- Entier () : crée <<zéro>>.
- boolean estZero ()
- Entier plusUn ()
- Entier moinsUn ()
- Entier plus (Entier b)
- String toString ()
- static Entier creerEntier (int ii)
- int intValue ()
This document was translated from LATEX by
HEVEA.