structure5
Class PriorityVector<E extends Comparable<E>>

java.lang.Object
  extended by structure5.PriorityVector<E>
All Implemented Interfaces:
PriorityQueue<E>

public class PriorityVector<E extends Comparable<E>>
extends Object
implements PriorityQueue<E>

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:
structure.OrderedVector

Constructor Summary
PriorityVector()
          Construct an empty priority queue.
 
Method Summary
 void add(E value)
          Add a comparable value to the priority queue.
 void clear()
          Remove all the values from the priority queue.
 E getFirst()
          Fetch the smallest value of the priority queue.
 boolean isEmpty()
          Determine if the priority queue is empty.
 E remove()
          Remove the smallest value of the structure.
 int size()
          Determine the size of the priority queue.
 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.

Method Detail

getFirst

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

Specified by:
getFirst in interface PriorityQueue<E extends Comparable<E>>
Returns:
The smallest value of the structure.

remove

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

Specified by:
remove in interface PriorityQueue<E extends Comparable<E>>
Returns:
The smallest value of the structure.

add

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

Specified by:
add in interface PriorityQueue<E extends Comparable<E>>
Parameters:
value - The comparable value to be added.

isEmpty

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

Specified by:
isEmpty in interface PriorityQueue<E extends Comparable<E>>
Returns:
True iff there are no elements in the priority queue.

size

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

Specified by:
size in interface PriorityQueue<E extends Comparable<E>>
Returns:
The number of elements in the priority queue.

clear

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

Specified by:
clear in interface PriorityQueue<E extends Comparable<E>>

toString

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

Overrides:
toString in class Object
Returns:
String describing priority vector.