Package it.unimi.dsi.fastutil.longs
Class LongHeaps
java.lang.Object
it.unimi.dsi.fastutil.longs.LongHeaps
A class providing static methods and objects that do useful things with heaps.
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.
-
Method Summary
Modifier and TypeMethodDescriptionstatic int
downHeap
(long[] heap, int size, int i, LongComparator c) Moves the given element down into the heap until it reaches the lowest possible position.static void
makeHeap
(long[] heap, int size, LongComparator c) Makes an array into a heap.static int
upHeap
(long[] heap, int size, int i, LongComparator c) Moves the given element up in the heap until it reaches the highest possible position.
-
Method Details
-
downHeap
Moves the given element down into the heap until it reaches the lowest possible position.- Parameters:
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, ornull
for the natural order.- Returns:
- the new position of the element of index
i
.
-
upHeap
Moves the given element up in the heap until it reaches the highest possible position.- Parameters:
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, ornull
for the natural order.- Returns:
- the new position of the element of index
i
.
-
makeHeap
Makes an array into a heap.- Parameters:
heap
- the heap (starting at 0).size
- the number of elements in the heap.c
- a type-specific comparator, ornull
for the natural order.
-