Witam, mam problem ponieważ muszę napisać ten program na laborki, a w literaturze heap z kolejką są zawsze w jednej klasie (poloączone). Nie mam pojęcia jak to zrobić proszę o pomoc... Poniżej treść zadania:
1.implementacja kopca ekstrachującego największy element oparty na interfejsie:
public interface maxHeap
{
public void clear();//oproznia stos
public Object extractMin();//usuwa największy
public Object getMax();//pobiera największy bez usuwania
public int getSize();//liczba el. kopca
public void insert(Object obj);//dodaje do kopca
public boolean isEmpty();//czy kopiec pusty
public void makeHeap(Object[] arr);//buduje kopiec na podstawie tablicy
}
2.Zaimplementuj kolejke prior. wykorzystującą kopiec, interfejs:
public interface prioQueue
{
public boolean add(Object obj);//dodaje do kolejki
public void clear();//usuwa all z kolejki
public boolean offer(Object obj);//wstawia element do kolejki
public Object peek();//pobiera pierwsszy obj z kolejki nie usuwając go
public Object poll();//jak wyżej tylko z usuwaniem ;)
public boolean remove(Object obj);//jeśli objekt istnieje - usuń go z kolejki
public int size();//rozmiar kol.<code>
}