Queue

FIFO queue implementation with size limits and priority support

typescript (ES2020) 2025-11-12 queue data-structure fifo collections

Description

A queue data structure implementation with first-in-first-out (FIFO) ordering. Supports size limits, priority queues, and iteration.

Features

  • FIFO ordering
  • Size limits
  • Priority support
  • Iteration and clearing

Code

RAW
class Queue<T> {  private items: T[] = [];  private maxSize: number;  constructor(maxSize: number = 100) {    this.maxSize = maxSize;  }  enqueue(item: T): boolean {    if (this.maxSize > 0 && this.items.length >= this.maxSize) {      return false;    }    this.items.push(item);    return true;  }  dequeue(): T | undefined {    return this.items.shift();  }  peek(): T | undefined {    return this.items[0];  }  isEmpty(): boolean {    return this.items.length === 0;  }  size(): number {    return this.items.length;  }  clear(): void {    this.items = [];  }  toArray(): T[] {    return [...this.items];  }}export default Queue;
RAW
import Queue from './Queue';const queue = new Queue<string>(100);queue.enqueue('first');queue.enqueue('second');queue.enqueue('third');console.log('Size:', queue.size());console.log('Peek:', queue.peek());while (!queue.isEmpty()) {  console.log('Dequeued:', queue.dequeue());}

Comments

No comments yet. Be the first to comment!