structure
Class PriorityVector<ELTTYPE extends java.lang.Comparable<ELTTYPE>>

java.lang.Object
  extended by structure.PriorityVector<ELTTYPE>
All Implemented Interfaces:
PriorityQueue<ELTTYPE>

public class PriorityVector<ELTTYPE extends java.lang.Comparable<ELTTYPE>>
extends java.lang.Object
implements PriorityQueue<ELTTYPE>

A vector-based implementation of a priority queue. Similar to an ordered vector, except that only the smallest value may be accessed in this structure.

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
        PriorityVector programmers = new PriorityVector();

        //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.");
        }
 }
 

See Also:
OrderedVector

Constructor Summary
PriorityVector()
          Construct an empty priority queue.
 
Method Summary
 void add(ELTTYPE value)
          Add a comparable value to the priority queue.
 void clear()
          Remove all the values from the priority queue.
 ELTTYPE getFirst()
          Fetch the smallest value of the priority queue.
 boolean isEmpty()
          Determine if the priority queue is empty.
 ELTTYPE remove()
          Remove the smallest value of the structure.
 int size()
          Determine the size of the priority queue.
 java.lang.String toString()
          Construct a string representation of the priority vector.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PriorityVector

public PriorityVector()
Construct an empty priority queue.

Post:
constructs a new priority queue
Method Detail

getFirst

public ELTTYPE getFirst()
Fetch the smallest value of the priority queue.

Specified by:
getFirst in interface PriorityQueue<ELTTYPE extends java.lang.Comparable<ELTTYPE>>
Returns:
The smallest value of the structure.
Pre:
!isEmpty()
Post:
returns the minimum value in the priority queue

remove

public ELTTYPE remove()
Remove the smallest value of the structure.

Specified by:
remove in interface PriorityQueue<ELTTYPE extends java.lang.Comparable<ELTTYPE>>
Returns:
The smallest value of the structure.
Pre:
!isEmpty()
Post:
removes and returns minimum value in priority queue

add

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

Specified by:
add in interface PriorityQueue<ELTTYPE extends java.lang.Comparable<ELTTYPE>>
Parameters:
value - The comparable value to be added.
Pre:
value is non-null
Post:
inserts value in priority queue leaves elements in order

isEmpty

public boolean isEmpty()
Determine if the priority queue is empty.

Specified by:
isEmpty in interface PriorityQueue<ELTTYPE extends java.lang.Comparable<ELTTYPE>>
Returns:
True iff there are no elements in the priority queue.
Post:
returns true iff the priority queue is empty

size

public int size()
Determine the size of the priority queue.

Specified by:
size in interface PriorityQueue<ELTTYPE extends java.lang.Comparable<ELTTYPE>>
Returns:
The number of elements in the priority queue.
Post:
returns number of elements in priority queue

clear

public void clear()
Remove all the values from the priority queue.

Specified by:
clear in interface PriorityQueue<ELTTYPE extends java.lang.Comparable<ELTTYPE>>
Post:
removes all elements from priority queue

toString

public java.lang.String toString()
Construct a string representation of the priority vector.

Overrides:
toString in class java.lang.Object
Returns:
String describing priority vector.
Post:
returns string representation of priority vector