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.
INGInious