bonjour

Dans le code ci dessous, je ne comprends pas la fonction "viderPile". Celle-ci sert à vider la pile entièrement. Mais ce que fait la fonction, c'est mettre sommet à -1.
Il semble donc que le vidage de la pile se fasse automatiquement.
sommet est l'indice qui permet de repérer des éléments dans un tableau, si on le met à une valeur en dessous de zéro, cela signifie t il que toutes les valeurs sont supprimées?
Ce que je ne comprends pas non plus, c'est comment le compilateur comprends qu'en fixant sommet à -1, on vide toute la pile?
je vous remercie



Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public class Pile{
    private int sommet;
    private int[] element;
 
    private void erreur (String mes){
           System.out.println("***erreur"+mes);
    }
 
    public Pile(int max){
      sommet=-1;
      element=new int[max];
}
 
public boolean pileVide(){
    return sommet=-1;
}
 
public void empiler(int v){
    if(sommet<element.length-1){
       sommet++;
       element[sommet]=v;
    }
  else {
   erreur("pile saturée");
}
 
public void depiler(){
   int v=0;
   if(!pileVide()){
      v=element[sommet];
       sommet--;
   }
    else{
     erreur("Pile vide");
}return v;
}
 
 
public void viderPile(){
sommet=-1;
} 
 
}