tinyqueue
The smallest and simplest binary heap priority queue in JavaScript.
// create an empty priority queuevar queue = ; // add some itemsqueue;queue;queue; // remove the top itemvar top = queue; // returns 5 // return the top item (without removal)top = queue; // returns 7 // get queue lengthqueuelength; // returns 2 // create a priority queue from an existing array (modifies the array)queue = 7 5 10; // pass a custom item comparator as a second argumentqueue = value: 5 value: 7 { return avalue - bvalue;}; // turn a queue into a sorted arrayvar array = ;while queuelength array;
For a faster number-based queue, see flatqueue.
Install
Install using NPM (npm install tinyqueue
) or Yarn (yarn add tinyqueue
), then:
// import as an ES module; // or require in Node / Browserifyconst TinyQueue = ;
Or use a browser build directly:
Thanks
Inspired by js-priority-queue by Adam Hooper.