Priority queue module of XRT library.
npm install xrtlibrary-priorityqueueRead 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