|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectstructure.VectorHeap<ELTTYPE>
public class VectorHeap<ELTTYPE extends java.lang.Comparable<ELTTYPE>>
This class implements a priority queue based on a traditional array-based heap. Most heap operations, including insert and remove, execute in logarithmic time, but the minimum element can be returned in constant time.
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
VectorHeap programmers = new VectorHeap();
//add programmers and their ages to heap
//ages current of 7/22/2002
//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.");
}
}
| Constructor Summary | |
|---|---|
VectorHeap()
Construct a new priority queue |
|
VectorHeap(Vector<ELTTYPE> v)
Construct a new priority queue from an unordered vector |
|
| 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. |
java.lang.String |
toString()
Construct a string representation of the heap. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public VectorHeap()
public VectorHeap(Vector<ELTTYPE> v)
| Method Detail |
|---|
public ELTTYPE getFirst()
getFirst in interface PriorityQueue<ELTTYPE extends java.lang.Comparable<ELTTYPE>>public ELTTYPE remove()
remove in interface PriorityQueue<ELTTYPE extends java.lang.Comparable<ELTTYPE>>public void add(ELTTYPE value)
add in interface PriorityQueue<ELTTYPE extends java.lang.Comparable<ELTTYPE>>value - The value to be added.public boolean isEmpty()
isEmpty in interface PriorityQueue<ELTTYPE extends java.lang.Comparable<ELTTYPE>>public int size()
size in interface PriorityQueue<ELTTYPE extends java.lang.Comparable<ELTTYPE>>public void clear()
clear in interface PriorityQueue<ELTTYPE extends java.lang.Comparable<ELTTYPE>>public java.lang.String toString()
toString in class java.lang.Object
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||