next up previous contents
suivant: Figures et dessins monter: Exemple: une pile précédent: pile abstraite   Table des matières

pile en Java

Pour s'habituer au langage, on va donner une réalisation de piles en java. Concernant cette implémentations, plusieurs remarques:



transparent
Une interface pile


import java.util.*;
interface Pile{
    public Object empiler(Object item);
    public Object dépiler();
    public boolean estVide();
}




transparent
Une implémentation de pile


import java.util.*;
public class MaPile implements Pile{
  private Vector items;
  public MaPile(){items = new Vector(10);}
  public Object empiler(Object item){
    items.addElement(item);
    return item;
  }
  public synchronized Object dépiler(){
    int len = items.size();
    Object item = null;
    if (len == 0)
      throw new EmptyStackException();
    item = items.elementAt(len - 1);
    items.removeElementAt(len - 1);
    return item;
  } // ...


transparent
MaPile suite...


  // suite
  public boolean estVide(){
    return (items.size() == 0);
  }
  protected void finalize() throws Throwable {
    items = null; super.finalize();
  }
}





transparent
Main


class Main{
    public static void main(String[] args){
        Pile p=new MaPile();
        for(int i=0; i<10; i++)
            p.empiler(new Integer(i*i));
        while(! p.estVide())
            System.out.println(p.dépiler());
    }
}



next up previous contents
suivant: Figures et dessins monter: Exemple: une pile précédent: pile abstraite   Table des matières
Hugues Fauconnier 2002-01-11