@coderbaba/stl-js
Version:
STL data structures for JavaScript
38 lines (28 loc) • 579 B
text/typescript
class Deque<T> {
private items: T[] = [];
addFront(item: T): void {
this.items.unshift(item);
}
addRear(item: T): void {
this.items.push(item);
}
removeFront(): T | undefined {
return this.items.shift();
}
removeRear(): T | undefined {
return this.items.pop();
}
front(): T | undefined {
return this.items[0];
}
rear(): T | undefined {
return this.items[this.items.length - 1];
}
isEmpty(): boolean {
return this.items.length === 0;
}
size(): number {
return this.items.length;
}
}
export default Deque;