Information

Author(s) Ludovic TAFFIN, Olivier Martin
Deadline No deadline
Submission limit No limitation

Sign in

Mission 11 : Q* PileInt

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.


Question 1: Push

Ecrivez le corps de la méthode push

Question 2: Pop

Ecrivez le corps de la méthode pop