UNPKG

@node-dlc/core

Version:
38 lines 806 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Queue = void 0; const LinkedList_1 = require("./LinkedList"); /** * FIFO queue implemented with O(1) enqueue and dequeue operations */ class Queue { constructor() { this._list = new LinkedList_1.LinkedList(); } /** * Peak the tip value */ peak() { return this._list.head && this._list.head.value; } /** * Returns the length of the queue */ get length() { return this._list.length; } /** * Enqueue a value */ enqueue(value) { this._list.add(value); } /** * Dequeue top most value */ dequeue() { return this._list.remove(0); } } exports.Queue = Queue; //# sourceMappingURL=Queue.js.map