@czlowiek488/queue
v0.0.2
Published
package containing utilities like queues
Downloads
2
Readme
This package contains utilities.
Priority Queue Description
It use internal state which is changed each pop or push method execution.
Tests coming soon.
push(priority, item)
priority - it`s a positive number (priority > 0) which represent how many times in one queue iteration item will be removed.
Iteration length is sum of all priorites together but may be shorter if priority doesn`t have enough items.
pop()
return and remove item from queue
peek()
return item from queue
Example
const queueInstance = Queue();
queueInstance.push(1, 1);
queueInstance.push(1, 2);
queueInstance.push(2, 3);
queueInstance.push(2, 4);
queueInstance.push(2, 5);
queueInstance.push(2, 6);
queueInstance.push(2, 7);
// start from first pushed element from highest priority
queueInstance.pop(); //3
queueInstance.pop(); //4
queueInstance.pop(); //5
// pop (priority + 1) times elements from elements pushed into priority
queueInstance.pop(); //1
queueInstance.pop(); //2
// then change to next lower priority
queueInstance.pop(); //6
queueInstance.pop(); //7
//if there is nothing left return null
queueInstance.pop(); //null