@kartikkhk/stl-node
Version:
Standard Data Structures for Node JS
36 lines (35 loc) • 864 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const queue_1 = __importDefault(require("./queue"));
class Deque extends queue_1.default {
constructor(array) {
super(array);
}
addLast(value) {
this.add(value);
}
addFirst(value) {
this._arr.unshift(value);
}
removeFirst() {
return this.remove();
}
removeLast() {
return this._arr.pop();
}
peekFirst() {
return this.peek();
}
peekLast() {
if (this.isEmpty())
return undefined;
return this._arr[this._arr.length - 1];
}
static fromArray(array) {
return new Deque(array);
}
}
exports.default = Deque;