Package it.unimi.dsi.fastutil.doubles
Class DoubleHeaps
java.lang.Object
it.unimi.dsi.fastutil.doubles.DoubleHeaps
public final class DoubleHeaps
extends java.lang.Object
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 Type Method Description static intdownHeap(double[] heap, int size, int i, DoubleComparator c)Moves the given element down into the heap until it reaches the lowest possible position.static voidmakeHeap(double[] heap, int size, DoubleComparator c)Makes an array into a heap.static intupHeap(double[] heap, int size, int i, DoubleComparator c)Moves the given element up in the heap until it reaches the highest possible position.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
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, ornullfor 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, ornullfor 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, ornullfor the natural order.
-