UNPKG

@practicaljs/priority-queue

Version:

Javascript / Typescript priority queue ( max / min heap )

26 lines (25 loc) 788 B
/** * Comparison call back compares two values and returns a number representing priority from highest to lowest * @returns number 1, 0, -1 */ export declare type CompareTo<T> = (a: T, b: T) => number; export declare type Key<T> = (item: T) => string; export declare class PriorityQueue<T> { private parentIndex; private leftIndex; private rightIndex; private getKey?; private heap; private keyTrack; compare: CompareTo<T>; constructor(compareCbk: CompareTo<T>, key?: Key<T>); get peek(): T; get length(): number; hasItem(item: T): boolean; enqueue(obj: T): void; private dequeueByIndex; dequeueItem(item: T): T | null | undefined; dequeueByKey(key: string): T | undefined; dequeue(): T | undefined; clear(): void; }