@figliolia/data-structures
Version:
Efficient data structures for every day programming
47 lines (46 loc) • 882 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Queue = void 0;
/**
* 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
* ```
*/
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();
}
}
exports.Queue = Queue;