xrtlibrary-priorityqueue

1.0.1 • Public • Published

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

Readme

Keywords

none

Package Sidebar

Install

npm i xrtlibrary-priorityqueue

Weekly Downloads

2

Version

1.0.1

License

BSD-3-Clause

Last publish

Collaborators

  • chinpui