xrtlibrary-priorityqueue
v1.0.1
Published
Priority queue module of XRT library.
Downloads
4
Readme
Read Me
Introduction
This package is a high-performance priority queue implementation (a part of XRT library).
Installation
To install this package, type following command in your terminal:
npm install xrtlibrary-priorityqueue --save
And then, you can import this package in your NodeJS environment with following "require" statement.
var XRTLibPQ = require("xrtlibrary-priorityqueue");
API (Usage)
PriorityQueue (Class):
+---------------------------+-----------------------------------------------------------+ | Method | Description | +---------------------------+-----------------------------------------------------------+ | constructor([comparator]) | Construct the object with [comparator]. | +---------------------------+-----------------------------------------------------------+ | poll() | Delete and return the largest item in the priority queue. | +---------------------------+-----------------------------------------------------------+ | peek() | Return the largest item in the priority queue. | +---------------------------+-----------------------------------------------------------+ | add([item]) | Add [item] to the priority queue. | +---------------------------+-----------------------------------------------------------+ | clear() | Clear the priority queue. | +---------------------------+-----------------------------------------------------------+ | isEmpty() | Check whether the priority queue is empty. | +---------------------------+-----------------------------------------------------------+ | getLength() | Get the count of items in the priority queue. | +---------------------------+-----------------------------------------------------------+
DEFAULT_COMPARATOR (Function):
The default comparator (higher-priority first):
function DEFAULT_COMPARATOR(a, b) { return b > a; }
Example
Code:
var XRTLibPQ = require("xrtlibrary-priorityqueue"); var pq = new XRTLibPQ.PriorityQueue(XRTLibPQ.DEFAULT_COMPARATOR) pq.add(1) pq.add(5) pq.add(4) pq.add(2) pq.add(3) while(!pq.isEmpty()) { console.log(pq.poll()); }
Output:
- 5
- 4
- 3
- 2
- 1