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