Mohammad Asif cf937194cb Removed un-waned things 1. | пре 6 месеци | |
---|---|---|
.. | ||
index.d.ts | пре 6 месеци | |
index.js | пре 6 месеци | |
license | пре 6 месеци | |
package.json | пре 6 месеци | |
readme.md | пре 6 месеци |
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
const Queue = require('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.