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.