Une pile d'entiers est une structure de données qui permet d'empiler des entiers. Les entiers sont ajoutés à la pile via son sommet. La pile garantit un fonctionnement Last-In First-Out (LIFO, dernier entré, premier sorti).
On vous donne la classe PileInt incomplète suivante :
/**
* Une pile d'entiers représentée sous la forme d'une structure chaînée
*
* @author O. Bonaventure
* @version Décembre 2016
*/
public class PileInt {
// une classe interne représentant un noeud de la pile
private class Noeud {
int element;
Noeud suivant;
public Noeud(int i, Noeud n) {
element = i;
suivant = n;
}
}
private Noeud sommet; // le sommet de la pile
private int profondeur; // le nombre d'entiers dans la pile
/**
* @pre -
* @post initialise une pile vide
*/
public PileInt() {
sommet = null;
profondeur = 0;
}
/**
* @pre
* @post ajoute l'entier i au sommet de la pile
*/
public void push(int i) {
// Première question
}
/**
* @pre -
* @post retourne l'entier au sommet de la pile et le retire de la pile
* lance l'exception IllegalStateException si la pile est vide
*/
public int pop() throws IllegalStateException {
// Deuxième question
}
/**
* @pre -
* @post retourne la profondeur,
* c'est-à-dire le nombre d'éléments dans la pile.
* Retourne 0 pour une pile vide.
*/
public int depth() {
return profondeur;
}
}
Complétez cette classe.
INGInious