Information

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

Sign in

Mission 11 : Q** Queue

Une queue est une structure de données qui dispose d'une entrée et d'une sortie. Les objets sont ajoutés à la queue via son entrée et sont retirés via sa sortie. La queue garantit un fonctionnement First-In First-Out (FIFO, premier entré, premier sorti) On vous donne la classe Queue incomplète suivante :

/**
 * Une queue représentée sous la forme d'une structure chaînée
 *
 * @author O. Bonaventure
 * @version Novembre 2016
 */
  public class Queue {

      // une classe interne représentant un noeud de la queue
      private class Noeud {
          Object element;
          Noeud suivant;
          Noeud precedent;

          public Noeud(Object o, Noeud n, Noeud p) {
              element = o;
              suivant = n;
              precedent = p;
          }
       }

      private Noeud entree; // l'entrée de la queue
      private Noeud sortie; // la sortie de la queue

     /*
      * @pre -
      * @post initialise une queue vide
      */
      public Queue() {
          entree = null;
          sortie = null;
      }

     /**
      * @pre o != null
      * @post ajoute l'objet à la queue
      */
      public void ajoute(Object o) {
          // Question 1
      }

     /**
      * @pre -
      * @post retourne le plus ancien objet de la queue via le noeud sortie et
      *       le retire de la queue.
      *       Retourne null si la queue est vide
      */
      public Object retire() {
          // Question 2
      }
  }

Complétez cette classe.


Question 1: Ajoute

Ecrivez le corps de la méthode ajoute

Question 2: Retire

Ecrivez le corps de la méthode retire