public class ObjectArrayPriorityQueue<K>
extends java.lang.Object
implements it.unimi.dsi.fastutil.PriorityQueue<K>, java.io.Serializable
Instances of this class represent a priority queue using a backing
array—all operations are performed directly on the array. The array is
enlarged as needed, but it is never shrunk. Use the trim() method
to reduce its size, if necessary.
| Modifier and Type | Field and Description |
|---|---|
protected K[] |
array
The backing array.
|
protected java.util.Comparator<? super K> |
c
The type-specific comparator used in this queue.
|
protected int |
firstIndex
The first index, cached, if
firstIndexValid is true. |
protected boolean |
firstIndexValid
Whether
firstIndex contains a valid value. |
protected int |
size
The number of elements in this queue.
|
| Constructor and Description |
|---|
ObjectArrayPriorityQueue()
Creates a new empty queue using the natural order.
|
ObjectArrayPriorityQueue(java.util.Comparator<? super K> c)
Creates a new empty queue with a given comparator.
|
ObjectArrayPriorityQueue(int capacity)
Creates a new empty queue with a given capacity and using the natural order.
|
ObjectArrayPriorityQueue(int capacity,
java.util.Comparator<? super K> c)
Creates a new empty queue with a given capacity and comparator.
|
ObjectArrayPriorityQueue(K[] a)
Wraps a given array in a queue using the natural order.
|
ObjectArrayPriorityQueue(K[] a,
java.util.Comparator<? super K> c)
Wraps a given array in a queue using a given comparator.
|
ObjectArrayPriorityQueue(K[] a,
int size)
Wraps a given array in a queue using the natural order.
|
ObjectArrayPriorityQueue(K[] a,
int size,
java.util.Comparator<? super K> c)
Wraps a given array in a queue using a given comparator.
|
| Modifier and Type | Method and Description |
|---|---|
void |
changed() |
void |
clear() |
java.util.Comparator<? super K> |
comparator() |
K |
dequeue() |
void |
enqueue(K x) |
K |
first() |
int |
size() |
void |
trim()
Trims the underlying array so that it has exactly
size() elements. |
protected transient K[] array
protected int size
protected java.util.Comparator<? super K> c
protected transient int firstIndex
firstIndexValid is true.protected transient boolean firstIndexValid
firstIndex contains a valid value.public ObjectArrayPriorityQueue(int capacity,
java.util.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 ObjectArrayPriorityQueue(int capacity)
capacity - the initial capacity of this queue.public ObjectArrayPriorityQueue(java.util.Comparator<? super K> c)
c - the comparator used in this queue, or null for the natural order.public ObjectArrayPriorityQueue()
public ObjectArrayPriorityQueue(K[] a, int size, java.util.Comparator<? super K> c)
The queue returned by this method will be backed by the given array.
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 ObjectArrayPriorityQueue(K[] a, java.util.Comparator<? super K> c)
The queue returned by this method will be backed by the given array.
a - an array.c - the comparator used in this queue, or null for the natural order.public ObjectArrayPriorityQueue(K[] a, int size)
The queue returned by this method will be backed by the given array.
a - an array.size - the number of elements to be included in the queue.public ObjectArrayPriorityQueue(K[] a)
The queue returned by this method will be backed by the given array.
a - an array.public void enqueue(K x)
enqueue in interface it.unimi.dsi.fastutil.PriorityQueue<K>public K dequeue()
dequeue in interface it.unimi.dsi.fastutil.PriorityQueue<K>public void changed()
changed in interface it.unimi.dsi.fastutil.PriorityQueue<K>public int size()
size in interface it.unimi.dsi.fastutil.PriorityQueue<K>public void clear()
clear in interface it.unimi.dsi.fastutil.PriorityQueue<K>public void trim()
size() elements.