Skip to content

Queue

First-in, first-out (FIFO). Use for task scheduling, BFS traversal, or message queues.

class Queue {
  items: number[];

  constructor() {
    this.items = [];
  }

  // Add to end
  enqueue(item: number): void {
    this.items.push(item);
  }

  // Remove from front
  dequeue(): number | undefined {
    return this.items.shift();
  }

  // Check if empty
  isEmpty(): boolean {
    return this.items.length === 0;
  }
}

const queue = new Queue();
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
console.log(queue.dequeue()); // Output: 1
console.log(queue.isEmpty()); // Output: false