Class IntHeapPriorityQueue

java.lang.Object
it.unimi.dsi.fastutil.ints.IntHeapPriorityQueue
All Implemented Interfaces:
IntPriorityQueue, PriorityQueue<java.lang.Integer>, java.io.Serializable

public class IntHeapPriorityQueue
extends java.lang.Object
implements IntPriorityQueue, java.io.Serializable
A type-specific heap-based priority queue.

Instances of this class represent a priority queue using a heap. The heap is enlarged as needed, but it is never shrunk. Use the trim() method to reduce its size, if necessary.

See Also:
Serialized Form
  • Constructor Summary

    Constructors
    Constructor Description
    IntHeapPriorityQueue()
    Creates a new empty queue using the natural order.
    IntHeapPriorityQueue​(int capacity)
    Creates a new empty queue with a given capacity and using the natural order.
    IntHeapPriorityQueue​(int[] a)
    Wraps a given array in a queue using the natural order.
    IntHeapPriorityQueue​(int[] a, int size)
    Wraps a given array in a queue using the natural order.
    IntHeapPriorityQueue​(int[] a, int size, IntComparator c)
    Wraps a given array in a queue using a given comparator.
    IntHeapPriorityQueue​(int[] a, IntComparator c)
    Wraps a given array in a queue using a given comparator.
    IntHeapPriorityQueue​(int capacity, IntComparator c)
    Creates a new empty queue with a given capacity and comparator.
    IntHeapPriorityQueue​(IntCollection collection)
    Creates a queue using the elements in a type-specific collection using the natural order.
    IntHeapPriorityQueue​(IntCollection collection, IntComparator c)
    Creates a queue using the elements in a type-specific collection using a given comparator.
    IntHeapPriorityQueue​(IntComparator c)
    Creates a new empty queue with a given comparator.
    IntHeapPriorityQueue​(java.util.Collection<? extends java.lang.Integer> collection)
    Creates a queue using the elements in a collection using the natural order.
    IntHeapPriorityQueue​(java.util.Collection<? extends java.lang.Integer> collection, IntComparator c)
    Creates a queue using the elements in a collection using a given comparator.
  • Method Summary

    Modifier and Type Method Description
    void changed()
    Notifies the queue that the first element has changed (optional operation).
    void clear()
    Removes all elements from this queue.
    IntComparator comparator()
    Returns the comparator associated with this priority queue, or null if it uses its elements' natural ordering.
    int dequeueInt()
    Dequeues the first element from the queue.
    void enqueue​(int x)
    Enqueues a new element.
    int firstInt()
    Returns the first element of the queue.
    int size()
    Returns the number of elements in this queue.
    void trim()
    Trims the underlying heap array so that it has exactly size() elements.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface it.unimi.dsi.fastutil.ints.IntPriorityQueue

    dequeue, enqueue, first, last, lastInt

    Methods inherited from interface it.unimi.dsi.fastutil.PriorityQueue

    isEmpty
  • Constructor Details

    • IntHeapPriorityQueue

      public IntHeapPriorityQueue​(int capacity, IntComparator c)
      Creates a new empty queue with a given capacity and comparator.
      Parameters:
      capacity - the initial capacity of this queue.
      c - the comparator used in this queue, or null for the natural order.
    • IntHeapPriorityQueue

      public IntHeapPriorityQueue​(int capacity)
      Creates a new empty queue with a given capacity and using the natural order.
      Parameters:
      capacity - the initial capacity of this queue.
    • IntHeapPriorityQueue

      public IntHeapPriorityQueue​(IntComparator c)
      Creates a new empty queue with a given comparator.
      Parameters:
      c - the comparator used in this queue, or null for the natural order.
    • IntHeapPriorityQueue

      public IntHeapPriorityQueue()
      Creates a new empty queue using the natural order.
    • IntHeapPriorityQueue

      public IntHeapPriorityQueue​(int[] a, int size, IntComparator c)
      Wraps a given array in a queue using a given comparator.

      The queue returned by this method will be backed by the given array. The first size element of the array will be rearranged so to form a heap (this is more efficient than enqueing the elements of a one by one).

      Parameters:
      a - an array.
      size - the number of elements to be included in the queue.
      c - the comparator used in this queue, or null for the natural order.
    • IntHeapPriorityQueue

      public IntHeapPriorityQueue​(int[] a, IntComparator c)
      Wraps a given array in a queue using a given comparator.

      The queue returned by this method will be backed by the given array. The elements of the array will be rearranged so to form a heap (this is more efficient than enqueing the elements of a one by one).

      Parameters:
      a - an array.
      c - the comparator used in this queue, or null for the natural order.
    • IntHeapPriorityQueue

      public IntHeapPriorityQueue​(int[] a, int size)
      Wraps a given array in a queue using the natural order.

      The queue returned by this method will be backed by the given array. The first size element of the array will be rearranged so to form a heap (this is more efficient than enqueing the elements of a one by one).

      Parameters:
      a - an array.
      size - the number of elements to be included in the queue.
    • IntHeapPriorityQueue

      public IntHeapPriorityQueue​(int[] a)
      Wraps a given array in a queue using the natural order.

      The queue returned by this method will be backed by the given array. The elements of the array will be rearranged so to form a heap (this is more efficient than enqueing the elements of a one by one).

      Parameters:
      a - an array.
    • IntHeapPriorityQueue

      public IntHeapPriorityQueue​(IntCollection collection, IntComparator c)
      Creates a queue using the elements in a type-specific collection using a given comparator.

      This constructor is more efficient than enqueing the elements of collection one by one.

      Parameters:
      collection - a collection; its elements will be used to initialize the queue.
      c - the comparator used in this queue, or null for the natural order.
    • IntHeapPriorityQueue

      public IntHeapPriorityQueue​(IntCollection collection)
      Creates a queue using the elements in a type-specific collection using the natural order.

      This constructor is more efficient than enqueing the elements of collection one by one.

      Parameters:
      collection - a collection; its elements will be used to initialize the queue.
    • IntHeapPriorityQueue

      public IntHeapPriorityQueue​(java.util.Collection<? extends java.lang.Integer> collection, IntComparator c)
      Creates a queue using the elements in a collection using a given comparator.

      This constructor is more efficient than enqueing the elements of collection one by one.

      Parameters:
      collection - a collection; its elements will be used to initialize the queue.
      c - the comparator used in this queue, or null for the natural order.
    • IntHeapPriorityQueue

      public IntHeapPriorityQueue​(java.util.Collection<? extends java.lang.Integer> collection)
      Creates a queue using the elements in a collection using the natural order.

      This constructor is more efficient than enqueing the elements of collection one by one.

      Parameters:
      collection - a collection; its elements will be used to initialize the queue.
  • Method Details