UNPKG

@figliolia/data-structures

Version:

Efficient data structures for every day programming

43 lines (42 loc) 765 B
/** * Queue * * A basic queue with enqueue, dequeue and peek methods * * ```typescript * import { Queue } from "@figliolia/data-structures"; * * const queue = new Queue<number>(); * queue.enqueue(1); * queue.enqueue(2); * queue.enqueue(3); * queue.peek(); // 1 * queue.dequeue(); // 1 * ``` */ export class Queue extends Array { /** * Peek * * Returns a reference to the first element in the queue */ peek() { return this[0]; } /** * Enqueue * * Adds an element to the end of the queue */ enqueue(item) { return super.push(item); } /** * Dequeue * * Removes the first element in the queue */ dequeue() { return super.shift(); } }