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.