Une pile est une structure de données qui permet d'empiler les éléments. Les objets 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 Pile incomplète suivante :
/**
* Une pile représentée sous la forme d'une structure chaînée
*
* @author O. Bonaventure
* @version Novembre 2016
*/
public class Pile {
// une classe interne représentant un noeud de la queue
private class Noeud {
Object element;
Noeud suivant;
public Noeud(Object o, Noeud n) {
element = o;
suivant = n;
}
}
private Noeud sommet; // le sommet de la pile
/*
* @pre -
* @post a initialisé une pile vide
*/
public Pile() {
sommet = null;
}
/**
* @pre o != null
* @post ajoute l'objet o au sommet de la pile
*/
public void push(Object o) {
// code non fourni
}
/**
* @pre -
* @post retourne l'élément au sommet de la pile et le supprime
* null si la pile est vide
*/
public Object pop() {
// Question 1
}
/**
* @pre -
* @post retourne la profondeur,
* c'est-à-dire le nombre d'éléments dans la pile.
* 0 pour une pile vide.
*/
public int depth() {
// Question 2
}
}
Complétez cette classe.
INGInious