public interface PriorityQueue { /** * A priority queue is a container of key-element pairs where the key stands for * the element's priority in the queue when inserted. The priority queue has a * removeMin method that gurantees that the object returned is associtaed with * a key that is less than equal to all other keys in the tree. The order of * the keys is according to the natural ordering of its keys (see the Comparable interface), or by a * comparator provided at creation time. * Apart from 1) A void (no arguments) constructor, which creates an empty priority queue sorted according to the natural order of its keys * 2. A constructor with a single argument of type Comparator, which creates an empty priority queue sorted according to the specified comparator. *
*/
/**
Returns the number of key-element pairs in the priority queue.
*/
public int size();
/**
* Returns true if and only if this queue contains no key-element pairs.
*/
public boolean isEmpty();
/**
* Insert an item with element element and key key
* into this dictionary.
*/
public void insertItem(Object key, Object element);
/**
* Removes a key-element pair where,