Algorithms and data structures for JS/TS
  • Introduction
  • GETTING STARTED
    • TS
    • Node.js
    • ES Modules
    • Browsers
  • PUBLIC API
    • How to read
    • Linked lists
      • SinglyLinkedList
      • DoublyLinkedList
      • CircularlyLinkedList
    • Stacks and queues
      • LinkedStack
      • LinkedQueue
      • LinkedDeque
      • CircularQueue
      • CircularArrayBuffer
      • UnsortedPriorityQueue
      • SortedPriorityQueue
      • AdaptableHeapPriorityQueue
    • Maps
      • SortedMap
      • MaximaSet
      • AVLTreeMap
      • SplayTreeMap
      • RedBlackTreeMap
    • Trees
      • GeneralTree
      • LinkedBinaryTree
      • PreorderTreeTraversal
      • InorderTreeTraversal
      • PostorderTreeTraversal
      • EulerTourTreeTraversal
    • Searches
      • Binary search
      • Quick select
    • Text processing
      • Longest common subsequence
      • Boyer-Moore
      • Knuth-Morris-Pratt
    • Position
    • Locator
    • Comparators
  • CONTRIBUTION NOTES
    • How to contribute
    • Project structure
  • Changelog
Powered by GitBook
On this page
  • new UnsortedPriorityQueue()
  • length
  • clear()
  • dequeue()
  • enqueue()
  • getFirst()
  • isEmpty()

Was this helpful?

  1. PUBLIC API
  2. Stacks and queues

UnsortedPriorityQueue

Container of elements which grants access to the least item stored in linear time and takes constant time for insertion. This structure is based on DoublyLinkedList.

new UnsortedPriorityQueue()

/**
 * Creates an instance of UnsortedPriorityQueue.
 *
 * @param elements List of elements to create the new priority queue with.
 * @param compare Comparison function for element search. Elements are compared as numbers by default.
 */
constructor(elements: K[] | [K, V][] = [], protected compare: CompareFunc<K> = compareAsNumbers)

length

length: number

Number of elements in the queue. This field is read only.

Examples:

import { UnsortedPriorityQueue } from 'ads-js/queues';

const queue = new UnsortedPriorityQueue();

queue.length === 0; // true
queue.enqueue(1);
queue.length === 1; // true

clear()

/**
 * Clears the queue.
 */
clear(): void;

dequeue()

/**
 * Removes the first element from the front of the queue and returns it.
 * Throws an error if the queue is empty.
 *
 * @returns Removed element.
 */
dequeue(): T;

enqueue()

/**
 * Adds element at the rear of the queue.
 *
 * @param element Element to add.
 */
enqueue(element: T): void;

getFirst()

/**
 * Gets element from the front of the queue without its removal.
 *
 * @returns Queue element.
 */
getFirst(): T;

isEmpty()

isEmpty(): boolean

Running time O(1)

Checks whether the queue is empty or not.

Returns:

TRUE if the queue is empty, FALSE otherwise.

Examples:

import { UnsortedPriorityQueue } from 'ads-js/queues';

const queue = new UnsortedPriorityQueue();

queue.isEmpty(); // true
queue.enqueue(1);
queue.isEmpty(); // false
PreviousCircularArrayBufferNextSortedPriorityQueue

Last updated 5 years ago

Was this helpful?