class FIFO {

    Liste debut, fin ;

    FIFO () { 
	debut = null ; 
	fin = null ; 
    }
   
    FIFO (int x) { // FIFO de 1 element
	debut = new Liste (x) ; 
	fin = debut ; 
    }
   
    static void ajouter (FIFO f, int x) 
    {
	if (f.fin == null) 
	    f.debut = f.fin = new Liste (x) ;
	else {
	    f.fin.suivant = new Liste (x) ;
	    f.fin = f.fin.suivant ;
	}
    }
   
    static int supprimer (FIFO f) {
	if (f.debut == null) 
	    throw new Error ("File Vide.") ;
	else {
	    int res = f.debut.contenu ;
	    if (f.debut == f.fin)  f.debut = f.fin = null ;
	    else f.debut = f.debut.suivant ;
	    return res ;
	}
    }

    static boolean nonVide (FIFO f) {
	return f.debut != null ;
    }

}
