Bonjour, je suis débutant en java.
Je suis tombé sur la class réalisant le fonctionnement d'une pile qui se présente sous la forme suivante:
public class Pile {
private int sommet;
private int []elements;
public Pile(int size) {
sommet = -1;
elements = new int[size];
}
public boolean pileVide() {
return sommet == -1;
}
public int depiler() {
if (pileVide()) {
System.out.println("pile vide !");
return 0;
}
return elements[sommet--];
}
public void empiler(int value) {
if (sommet == (elements.length - 1)) {
System.out.println("pile pleine !");
return;
}
elements[++sommet] = value;
}
public void videPile() {
sommet = -1;
}
public void afficherPile() {
System.out.println("Pile:");
System.out.println(" taille: "+elements.length);
System.out.println(" sommet: "+sommet);
for (int i=0;i<=sommet;i++)
System.out.println(" element["+i+"]: "+elements[i]);
}
Le probleme c'est que le sommet qu'elle renvoit n'est jamais la dernière valeur que j'ai empilé.
Merci d'avance