Class FloatHeaps


  • public final class FloatHeaps
    extends 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 Detail

      • downHeap

        public static int downHeap​(float[] heap,
                                   int size,
                                   int i,
                                   FloatComparator c)
        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, or null for the natural order.
        Returns:
        the new position of the element of index i.
      • upHeap

        public static int upHeap​(float[] heap,
                                 int size,
                                 int i,
                                 FloatComparator c)
        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, or null for the natural order.
        Returns:
        the new position of the element of index i.
      • makeHeap

        public static void makeHeap​(float[] heap,
                                    int size,
                                    FloatComparator c)
        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, or null for the natural order.