public class ObjectHeaps
extends java.lang.Object
The static methods of this class allow to treat arrays as 0-based heaps. They are used in the implementation of heap-based queues, but they may be also used directly.
Modifier and Type | Method and Description |
---|---|
static <K> int |
downHeap(K[] heap,
int size,
int i,
java.util.Comparator<? super K> c)
Moves the given element down into the heap until it reaches the lowest possible position.
|
static <K> void |
makeHeap(K[] heap,
int size,
java.util.Comparator<K> c)
Makes an array into a heap.
|
static <K> int |
upHeap(K[] heap,
int size,
int i,
java.util.Comparator<K> c)
Moves the given element up in the heap until it reaches the highest possible position.
|
public static <K> int downHeap(K[] heap, int size, int i, java.util.Comparator<? super K> c)
heap
- the heap (starting at 0).size
- the number of elements in the heap.i
- the index of the element that must be moved down.c
- a type-specific comparator, or null
for the natural order.i
.public static <K> int upHeap(K[] heap, int size, int i, java.util.Comparator<K> c)
heap
- the heap (starting at 0).size
- the number of elements in the heap.i
- the index of the element that must be moved up.c
- a type-specific comparator, or null
for the natural order.i
.public static <K> void makeHeap(K[] heap, int size, java.util.Comparator<K> c)
heap
- the heap (starting at 0).size
- the number of elements in the heap.c
- a type-specific comparator, or null
for the natural order.