public class ObjectHeapPriorityQueue<K> extends AbstractPriorityQueue<K>
Instances of this class represent a priority queue using a heap. The heap is enlarged as needed, but it is never shrunk. Use the trim() method to reduce its size, if necessary.
| Constructor and Description |
|---|
ObjectHeapPriorityQueue()
Creates a new empty queue using the natural order.
|
ObjectHeapPriorityQueue(Comparator<? super K> c)
Creates a new empty queue with a given comparator.
|
ObjectHeapPriorityQueue(int capacity)
Creates a new empty queue with a given capacity and using the natural order.
|
ObjectHeapPriorityQueue(int capacity,
Comparator<? super K> c)
Creates a new empty queue with a given capacity and comparator.
|
ObjectHeapPriorityQueue(K[] a)
Wraps a given array in a queue using the natural order.
|
ObjectHeapPriorityQueue(K[] a,
Comparator<? super K> c)
Wraps a given array in a queue using a given comparator.
|
ObjectHeapPriorityQueue(K[] a,
int size)
Wraps a given array in a queue using the natural order.
|
ObjectHeapPriorityQueue(K[] a,
int size,
Comparator<? super K> c)
Wraps a given array in a queue using a given comparator.
|
| Modifier and Type | Method and Description |
|---|---|
void |
changed()
Notifies the queue that the first element has changed (optional operation).
|
void |
clear()
Removes all elements from this queue.
|
Comparator<? super K> |
comparator()
Returns the comparator associated with this queue, or
null if it uses its elements' natural ordering. |
K |
dequeue()
Dequeues the first element from the queue.
|
void |
enqueue(K x)
Enqueues a new element.
|
K |
first()
Returns the first element of the queue.
|
int |
size()
Returns the number of elements in this queue.
|
void |
trim()
Trims the underlying heap array so that it has exactly
size() elements. |
isEmpty, lastpublic ObjectHeapPriorityQueue(int capacity,
Comparator<? super K> c)
capacity - the initial capacity of this queue.c - the comparator used in this queue, or null for the natural order.public ObjectHeapPriorityQueue(int capacity)
capacity - the initial capacity of this queue.public ObjectHeapPriorityQueue(Comparator<? super K> c)
c - the comparator used in this queue, or null for the natural order.public ObjectHeapPriorityQueue()
public ObjectHeapPriorityQueue(K[] a, int size, Comparator<? super K> c)
The queue returned by this method will be backed by the given array. The first size element of the array will be rearranged so to form a heap (this is more efficient than
enqueing the elements of a one by one).
a - an array.size - the number of elements to be included in the queue.c - the comparator used in this queue, or null for the natural order.public ObjectHeapPriorityQueue(K[] a, Comparator<? super K> c)
The queue returned by this method will be backed by the given array. The elements of the array will be rearranged so to form a heap (this is more efficient than enqueing the elements of
a one by one).
a - an array.c - the comparator used in this queue, or null for the natural order.public ObjectHeapPriorityQueue(K[] a, int size)
The queue returned by this method will be backed by the given array. The first size element of the array will be rearranged so to form a heap (this is more efficient than
enqueing the elements of a one by one).
a - an array.size - the number of elements to be included in the queue.public ObjectHeapPriorityQueue(K[] a)
The queue returned by this method will be backed by the given array. The elements of the array will be rearranged so to form a heap (this is more efficient than enqueing the elements of
a one by one).
a - an array.public void enqueue(K x)
PriorityQueuex - the element to enqueue..public K dequeue()
PriorityQueuepublic K first()
PriorityQueuepublic void changed()
PriorityQueuechanged in interface PriorityQueue<K>changed in class AbstractPriorityQueue<K>public int size()
PriorityQueuepublic void clear()
PriorityQueuepublic void trim()
size() elements.public Comparator<? super K> comparator()
PriorityQueuenull if it uses its elements' natural ordering.null if it uses its elements' natural ordering.