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.