E
- public class PriorityQueue<E> extends java.lang.Object implements QueueADT<PriorityQueueItem<E>>
Modifier and Type | Field and Description |
---|---|
private PriorityQueueItem<E>[] |
array
The heap array.
|
private int |
currentSize |
private int |
DEFAULT_CAPACITY |
Constructor and Description |
---|
PriorityQueue()
Construct an empty PriorityQueue.
|
PriorityQueue(PriorityQueue<E> pq)
Copy constructor
|
Modifier and Type | Method and Description |
---|---|
private void |
buildHeap()
Heapify Establish heap order property from an arbitrary arrangement of
items.
|
void |
clear()
Make this PriorityQueue empty.
|
PriorityQueueItem<E> |
dequeue()
Removes and returns the largest item in the priority queue.
|
private void |
doubleArray()
Internal method to expand array.
|
void |
enqueue(PriorityQueueItem<E> item)
Adds an item to this PriorityQueue.
|
boolean |
isEmpty()
Returns true iff the Queue is empty.
|
java.util.Iterator<PriorityQueueItem<E>> |
iterator()
Returns a PriorityQueueIterator.
|
PriorityQueueItem<E> |
peek()
Returns the largest item in the priority queue.
|
private void |
percolateDown(int hole)
Internal method to percolate down in the heap.
|
int |
size()
Returns the number of items in this PriorityQueue.
|
private final int DEFAULT_CAPACITY
private int currentSize
private PriorityQueueItem<E>[] array
public PriorityQueue()
public PriorityQueue(PriorityQueue<E> pq)
pq
- PriorityQueue object to be copiedpublic void enqueue(PriorityQueueItem<E> item)
enqueue
in interface QueueADT<PriorityQueueItem<E>>
item
- object of type PriorityQueueItempublic int size()
size
in interface QueueADT<PriorityQueueItem<E>>
public java.util.Iterator<PriorityQueueItem<E>> iterator()
public PriorityQueueItem<E> peek()
peek
in interface QueueADT<PriorityQueueItem<E>>
java.util.NoSuchElementException
- if empty.public PriorityQueueItem<E> dequeue()
dequeue
in interface QueueADT<PriorityQueueItem<E>>
java.util.NoSuchElementException
- if empty.private void buildHeap()
public void clear()
clear
in interface QueueADT<PriorityQueueItem<E>>
private void percolateDown(int hole)
hole
- the index at which the percolate begins.private void doubleArray()
public boolean isEmpty()
QueueADT
isEmpty
in interface QueueADT<PriorityQueueItem<E>>