gis-tools-ts - v0.6.0
    Preparing search index...

    Class FlatQueue<T>

    FlatQueue

    A priority queue implemented using a binary heap.

    A Typescript port from the flatqueue code.

    import { FlatQueue } from 'gis-tools-ts';

    const queue = new FlatQueue<number>();

    queue.push(0, 2);
    queue.push(1, 1);
    queue.push(2, 3);

    expect(queue.pop()).toEqual(2);
    expect(queue.pop()).toEqual(1);
    expect(queue.pop()).toEqual(0);

    Type Parameters

    • T = number
    Index

    Accessors

    • get length(): number

      Returns number

      • the number of items

    Methods

    • Removes all items from the queue.

      Returns void

    • Returns undefined | T

      the item from the head of this queue without removing it. If this queue is empty, returns undefined.

    • Returns undefined | number

      the priority value of the item at the head of this queue without removing it. If this queue is empty, returns undefined.

    • Removes and returns the item from the head of this queue, which is one of the items with the lowest priority. If this queue is empty, returns undefined.

      Returns undefined | T

      the item from the head of this queue

    • Adds item to the queue with the specified priority.

      priority must be a number. Items are sorted and returned from low to high priority. Multiple items with the same priority value can be added to the queue, but there is no guaranteed order between these items.

      Parameters

      • item: T

        the item to add

      • priority: number

        the priority of the item

      Returns void

    • Shrinks the internal arrays to this.length.

      pop() and clear() calls don't free memory automatically to avoid unnecessary resize operations. This also means that items that have been added to the queue can't be garbage collected until a new item is pushed in their place, or this method is called.

      Returns void