Information

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

Sign in

Mission 11 : Q** OrderedList

Une queue ordonnée est une structure de données qui dispose d'une référence min et d'une référence max. Les réels sont ajoutés à la queue via son entrée et sont retirés via sa sortie. A tout moment, la queue est telle que l'élément le plus petit est accessible via la référence min et le plus grand via la référence max. On vous donne la classe OrderedList incomplète suivante :

/**
 * Une liste qui contient des réels dans l'ordre croissant
 *
 * @author O. Bonaventure
 * @version Dec. 2016
 */
  public class OrderedList {

     // une classe interne représentant un noeud de la queue
      private static class Noeud {
          double d;
          Noeud suivant;
          Noeud precedent;

          public Noeud(double d, Noeud n, Noeud p) {
              this.d = d;
              suivant = n;
              precedent = p;
          }
      }

      private Noeud min; // le plus petit nombre de la liste
      private Noeud max; // le plus grand nombre de la liste

     /*
      * @pre -
      * @post initialise une liste vide
      */
      public OrderedList() {
          min = null;
          max = null;
      }

     /**
      * @pre
      * @post ajoute le nombre n à la liste ordonnée. Après ajout, la liste est
      *       ordonnée, le nombre le plus petit est à la référence min et
      *       le plus grand à la référence max
      */
      public void ajoute(double n) {
          // Question 1
      }

     /**
      * @pre -
      * @post retourne le plus grand élément de la queue et le retire de la queue
      *       lance un exception IllegalStateException si la queue est vide
      */
      public double retireMax() throws IllegalStateException {
          // Question 2
      }
  }

Complétez cette classe.


Question 1: Ajoute

Ecrivez le corps de la méthode ajoute

Question 2: RetireMax

Ecrivez le corps de la méthode retireMax