package cap9.pilaordinabile;

import cap9.pila.Pila;

public class PilaOrdinata extends Pila
{ public void ordina()
  { Comparabile temp;
    boolean ordinato;
    if (isEmpty())
      return;
    for (int fine = top; fine > 0; fine--)
    { ordinato = true;
      for (int i = 0; i < fine; i++)
        if (
          ((Comparabile) v[i]).comparaCon(
                (Comparabile) v[i + 1]) > 0)
        { temp = (Comparabile) v[i];
          v[i] = v[i + 1];
          v[i + 1] = temp;
          ordinato = false;
        }
      if (ordinato)
        return;
    }
  }
  public boolean push(Object o)
  { if (o instanceof Comparabile)
      return super.push(o);
    return false;
  }
}
