1.0.1 • Published 7 years ago

xrtlibrary-priorityqueue v1.0.1

Weekly downloads
1
License
BSD-3-Clause
Repository
github
Last release
7 years ago

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