Advent of Code 2025 solutions
1export class Queue<T> {
2 private items: T[] = [];
3
4 enqueue(item: T): void {
5 this.items.push(item);
6 }
7
8 dequeue(): T | undefined {
9 return this.items.shift();
10 }
11
12 peek(): T | undefined {
13 return this.items[0];
14 }
15
16 get size(): number {
17 return this.items.length;
18 }
19
20 get isEmpty(): boolean {
21 return this.items.length === 0;
22 }
23
24 clear(): void {
25 this.items = [];
26 }
27}