Queue
FIFO queue implementation with size limits and priority support
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
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;
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!
Please login to leave a comment.