@node-dlc/core
Version:
38 lines • 806 B
JavaScript
;
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