Class LongHeaps


  • public final class LongHeaps
    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

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static 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.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • downHeap

        public static 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.
        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​(long[] heap,
                                 int size,
                                 int i,
                                 LongComparator 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​(long[] heap,
                                    int size,
                                    LongComparator 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.