Package Exports
- priorityqueuejs
- priorityqueuejs/package.json
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (priorityqueuejs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
priorityqueue.js
A simple priority queue data structure for Node.js.
Installation
$ npm install priorityqueuejsExample
var PriorityQueue = require('priorityqueuejs');
var queue = new PriorityQueue(function(a, b) {
return a.cash - b.cash;
});
queue.enq({ cash: 250, name: 'Valentina' });
queue.enq({ cash: 300, name: 'Jano' });
queue.enq({ cash: 150, name: 'Fran' });
queue.size(); // 3
queue.peek(); // { cash: 300, name: 'Jano' }
queue.deq(); // { cash: 300, name: 'Jano' }
queue.size(); // 2API
PriorityQueue()
Initializes a new empty PriorityQueue wich uses .DEFAULT_COMPARATOR() as
the comparator function for its elements.
PriorityQueue(comparator)
Initializes a new empty PriorityQueue with uses the given comparator(a, b)
function as the comparator for its elements.
The comparator function must return a positive number when a > b, 0 when
a == b and a negative number when a < b.
PriorityQueue.DEFAULT_COMPARATOR(a, b)
Compares two Number or String objects.
PriorityQueue#deq()
Dequeues the top element of the priority queue.
Throws an Error when the queue is empty.
PriorityQueue#enq(element)
Enqueues the element at the priority queue and returns its new size.
PriorityQueue#forEach(fn)
Executes fn on each element. Just be careful to not modify the priorities,
since the queue won't reorder itself.
PriorityQueue#isEmpty()
Returns whether the priority queue is empty or not.
PriorityQueue#peek()
Peeks at the top element of the priority queue.
Throws an Error when the queue is empty.
PriorityQueue#size()
Returns the size of the priority queue.
Testing
$ npm install
$ npm testLicence
MIT