class Pile {

    Liste sommet;

    Pile () { // Pile vide
	sommet = null; 
    }

    Pile (int x) { // Pile avec 1 element
	sommet = new Liste (x) ; 
    }

    static boolean nonVide (Pile p) { // Renvoie true si la pile n'est pas vide
	return p.sommet != null ;
    }

    static void empiler (Pile p, int x) {
	p.sommet = new Liste (x, p.sommet) ;
    }

    static int depiler (Pile p) {
	if (p.sommet == null) 
	    throw new Error ("Pile vide.") ;
	int res = p.sommet.contenu ;
	p.sommet = p.sommet.suivant ;
	return res ;
    }
}
