Tiny queue data structure
You should use this package instead of an array if you do a lot of Array#push()
and Array#shift()
on large arrays, since Array#shift()
has linear time complexity O(n) while Queue#dequeue()
has constant time complexity O(1). That makes a huge difference for large arrays.
A queue is an ordered list of elements where an element is inserted at the end of the queue and is removed from the front of the queue. A queue works based on the first-in, first-out (FIFO) principle.
$ npm install yocto-queue
import Queue from 'yocto-queue';
const queue = new Queue();
queue.enqueue('π¦');
queue.enqueue('π');
console.log(queue.size);
//=> 2
console.log(...queue);
//=> 'π¦ π'
console.log(queue.dequeue());
//=> 'π¦'
console.log(queue.dequeue());
//=> 'π'
The instance is an Iterable
, which means you can iterate over the queue front to back with a βforβ¦ofβ loop, or use spreading to convert the queue to an array. Don't do this unless you really need to though, since it's slow.
Add a value to the queue.
Remove the next value in the queue.
Returns the removed value or undefined
if the queue is empty.
Clear the queue.
The size of the queue.
- quick-lru - Simple βLeast Recently Usedβ (LRU) cache