@aprax/fast-queue
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

fast-queue

A fast queue for node and javascript with constant time queuing and dequeuing.

Usage

Using a native Javscript array as a queue can have slow queueing due to the use of Array.prototype.shift and Array.prototype.unshift which have worst case O(n) complexity due to array indexing.

The implementation uses a circular queue with O(1) queue/dequeue and O(N) space.

Method Args Return
enqueue T void
dequeue undefined T

Example

import FastQueue from "@aprax/fast-queue";

const myQueue = new FastQueue();
myQueue.enqueue(1);
myQueue.enqueue(2);
myQueue.enqueue(3);

myQueue.dequeue(); // 1
myQueue.dequeue(); // 2
myQueue.dequeue(); // 3
myQueue.dequeue(); // throws error because queue is empty

Readme

Keywords

Package Sidebar

Install

npm i @aprax/fast-queue

Weekly Downloads

6

Version

1.0.0

License

MIT

Unpacked Size

18.3 kB

Total Files

12

Last publish

Collaborators

  • aprax