X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fpriority-queue.ts;h=168e6c3455ca9fe82a864ad93fb61e3e894397a5;hb=bd8b441c7140491657341a2971940ae7fc35222a;hp=55a97169f757beb0f53c51843d6a8a87f6392612;hpb=037b50226d0183f50232e1867d0f0b201c9e55fb;p=poolifier.git diff --git a/src/priority-queue.ts b/src/priority-queue.ts index 55a97169..168e6c34 100644 --- a/src/priority-queue.ts +++ b/src/priority-queue.ts @@ -7,20 +7,28 @@ interface PriorityQueueNode { } /** - * Priority queue. + * k-priority queue. * * @typeParam T - Type of priority queue data. * @internal */ export class PriorityQueue { private nodeArray!: Array> + /** Prioritized bucket size. */ + private readonly k: number /** The size of the priority queue. */ public size!: number /** The maximum size of the priority queue. */ public maxSize!: number - public constructor () { + /** + * Constructs a k-priority queue. + * + * @param k - Prioritized bucket size. + */ + public constructor (k = Infinity) { this.clear() + this.k = k } /**