Interfaccia pubblica della classe SortedContainer


public class SortedContainer implements Container
{
    /*
       Costruisce un contenitore vuoto
    */
    public SortedContainer()
    { ... } //completare

    /*
      ... metodi di Container da realizzare ...
    */

    /*
        Aggiunge l'elemento compObj, ridimensionando l'array se necessario.
        L'elemento viene inserito in coda all'array e successivamente l'array
        viene ordinato. Andamento asintotico O(n) (prima dell'inserimento 
        l'array e' ordinato!)
    */
    public void add(Comparable compObj)
    { ... } //completare

    private Comparable[] resize(Comparable[] oldAr, int newLength)
    { ... } //completare

    /*
        restituisce il valore massimo del contenitore (massimo nel senso 
        definito dal metodo compareTo()), e lo cancella dal contenitore. 
        Andamento asintotico O(1).
        Lancia NoSuchElementException se l'array e' vuoto
    */
    public Comparable removeMax() throws NoSuchElementException
    { ... } //completare
}