/*
* Programme illustrant l'utilisation d'une pile.
* Une pile est une structure de stockage.
* Le stockage est linéaire et les nouveaux éléments
* à stocker sont rangés à partir de la fin et
* lorsqu'on déstocke c'est en aprtant de la fin.
* Ainsi l'ordre de déstockage est l'ordre inverse
* de celui du stockage.
* Les opérations essentielles d'une pile sont:
* - l'empilement/push d'un élément,
* - le dépilement/pop de l'élément de fin,
* - le test déterminant si la pile est vide ou non.
*/
// incantation permettant d'ouvrir la boîte à outil
// java des structures utilitaires d'usage très général.
import java.util.*;
public class ExPile {
public static void main(String []args) {
// Création d'une pile d'entiers vide avec new
// et référençage via la référence de nom "pile"
Stack<Integer> pile = new Stack<Integer>();
// Affichage d'une pile (vide)
System.out.println(pile);
// On ajoute un élément en fin/sommet de pile
pile.push(45);
System.out.println(pile);
pile.push(88);
System.out.println(pile);
pile.push(99);
System.out.println(pile);
// Utilisation du prédicat isEmpty qui indique si
// une pile contient des éléments ou non
while (!pile.isEmpty()) {
// Retrait de l'élément en sommet de pile
int i = pile.pop();
System.out.println("J'ai enlevé "+i);
System.out.println(pile);
}
}
}