Simple Binary Heap implementation for JavaScript
npm install bin-heap-jsBinHeap([cmp])Array.prototype.sort.Specifically:
If cmp(a, b) < 0, then a comes before b
If cmp(a, b) > 0, then b comes before a
js
const BinHeap = require('bin-heap-js');// Priority queue where a greater priority is more important
let priorityQueue = new BinHeap((a,b) => b.priority - a.priority); // max-heap
priorityQueue.push({name: "job C", job: ..., priority: 5});
priorityQueue.push({name: "job A", job: ..., priority: 99});
priorityQueue.push({name: "job B", job: ..., priority: 10});
process(priorityQueue.pop()); // job A
process(priorityQueue.pop()); // job B
process(priorityQueue.pop()); // job C
`
$3
The default comparator provided will work as a min-heap for numbers:
`
(a,b) => a - b
``