structure
Interface PriorityQueue<ELTTYPE extends java.lang.Comparable<ELTTYPE>>

All Known Subinterfaces:
MergeableHeap<ELTTYPE>
All Known Implementing Classes:
PriorityVector, SkewHeap, VectorHeap

public interface PriorityQueue<ELTTYPE extends java.lang.Comparable<ELTTYPE>>

Interface describing an queue of prioritized values. This linear-like structure has values that are inserted in such a way as to allow them to be removed in increasing order.

Example usage:

To print out a list of programmers sorted by age we could use the following:

 public static void main(String[] argv){
        //initialize a new fib heap
        PriorityQueue programmers = new FibHeap();

        //add programmers and their ages to heap
        //ages current of 7/22/2002
        programmers.add(new ComparableAssociation(new Integer(22), "Evan"));
        programmers.add(new ComparableAssociation(new Integer(19), "Chris"));
        programmers.add(new ComparableAssociation(new Integer(20), "Shimon"));
        programmers.add(new ComparableAssociation(new Integer(21), "Diane"));
        programmers.add(new ComparableAssociation(new Integer(21), "Lida"));    
        programmers.add(new ComparableAssociation(new Integer(20), "Rob"));     
        programmers.add(new ComparableAssociation(new Integer(20), "Sean"));    

        //print out programmers 
        while(!programmers.isEmpty()){
            ComparableAssociation p = (ComparableAssociation)programmers.remove();
            System.out.println(p.getValue() + " is " + p.getKey() + " years old.");
        }
 }
 


Method Summary
 void add(ELTTYPE value)
          Add a value to the priority queue.
 void clear()
          Remove all the elements from the queue.
 ELTTYPE getFirst()
          Fetch lowest valued (highest priority) item from queue.
 boolean isEmpty()
          Determine if the queue is empty.
 ELTTYPE remove()
          Returns the minimum value from the queue.
 int size()
          Determine the size of the queue.
 

Method Detail

getFirst

ELTTYPE getFirst()
Fetch lowest valued (highest priority) item from queue.

Returns:
The smallest value from queue.
Pre:
!isEmpty()
Post:
returns the minimum value in priority queue

remove

ELTTYPE remove()
Returns the minimum value from the queue.

Returns:
The minimum value in the queue.
Pre:
!isEmpty()
Post:
returns and removes minimum value from queue

add

void add(ELTTYPE value)
Add a value to the priority queue.

Parameters:
value - The value to be added.
Pre:
value is non-null comparable
Post:
value is added to priority queue

isEmpty

boolean isEmpty()
Determine if the queue is empty.

Returns:
True if the queue is empty.
Post:
returns true iff no elements are in queue

size

int size()
Determine the size of the queue.

Returns:
The number of elements within the queue.
Post:
returns number of elements within queue

clear

void clear()
Remove all the elements from the queue.

Post:
removes all elements from queue