Interface DoubleHeap

  • All Known Implementing Classes:
    DoubleMaxHeap, DoubleMinHeap

    public interface DoubleHeap
    Basic in-memory heap for double values.

    This class is generated from a template.

    Since:
    0.5.5
    Author:
    Erich Schubert
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static interface  DoubleHeap.UnsortedIter
      Unsorted iterator - in heap order.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void add​(double key)
      Add a key-value pair to the heap
      void add​(double key, int max)
      Add a key-value pair to the heap, except if the new element is larger than the top, and we are at design size (overflow)
      void clear()
      Delete all elements from the heap.
      boolean isEmpty()
      Is the heap empty?
      double peek()
      Get the current top key
      double poll()
      Remove the first element
      double replaceTopElement​(double e)
      Combined operation that removes the top element, and inserts a new element instead.
      int size()
      Query the size
      DoubleHeap.UnsortedIter unsortedIter()
      Get an unsorted iterator to inspect the heap.
    • Method Detail

      • add

        void add​(double key)
        Add a key-value pair to the heap
        Parameters:
        key - Key
      • add

        void add​(double key,
                 int max)
        Add a key-value pair to the heap, except if the new element is larger than the top, and we are at design size (overflow)
        Parameters:
        key - Key
        max - Maximum size of heap
      • replaceTopElement

        double replaceTopElement​(double e)
        Combined operation that removes the top element, and inserts a new element instead.
        Parameters:
        e - New element to insert
        Returns:
        Previous top element of the heap
      • peek

        double peek()
        Get the current top key
        Returns:
        Top key
      • poll

        double poll()
        Remove the first element
        Returns:
        Top element
      • clear

        void clear()
        Delete all elements from the heap.
      • size

        int size()
        Query the size
        Returns:
        Size
      • isEmpty

        boolean isEmpty()
        Is the heap empty?
        Returns:
        true when the size is 0.
      • unsortedIter

        DoubleHeap.UnsortedIter unsortedIter()
        Get an unsorted iterator to inspect the heap.
        Returns:
        Iterator