Information

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

Sign in

Mission 11 : Q* FIFOQueue

Une queue est une structure de donnée 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 FIFOQueue incomplète suivante :

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

     // 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 entree; // correspond à tout moment à l'entrée de la queue
     private Noeud sortie; // correspond à tout moment à la sortie de la queue

     /*
      * @pre -
      * @post a initialisé une queue vide
      */
      public FIFOQueue() {
          entree = null;
          sortie = null;
      }

     /**
      * @pre o != null
      * @post ajoute l'objet à la queue via le noeud entree
      */
      public void ajoute(Object o) {
          Noeud ajout;
          ajout = new Noeud(o, entree);
          entree = ajout;
          if(sortie == null) {
               sortie = ajout;
          }
     }

     /**
      * @pre -
      * @post retourne le plus ancien objet de la queue via le noeud sortie et
      *       le retire de la queue
      *       null si la queue est vide
      */
     public Object retire () {
        // A compléter
     }
  }

Complétez cette classe.


Retire

Ecrivez le corps de la méthode retire