Back to DSA Topics
Queues
Queues follow FIFO (First In First Out) principle. Elements are added at the rear and removed from the front.
Animated Visualization
Step 1 of 5
Front
10
20
30
Rear
Initial queue: [10, 20, 30] - Front: 10, Rear: 30
javascript
← Scroll →
// Queue Implementation using Arrayclass Queue { constructor() { this.items = []; } // Add element to rear enqueue(element) { this.items.push(element); } // Remove element from front dequeue() { if (this.isEmpty()) { return "Queue is empty"; } return this.items.shift(); } // View front element front() { if (this.isEmpty()) { return "Queue is empty"; } return this.items[0]; } // Check if queue is empty isEmpty() { return this.items.length === 0; } // Get queue size size() { return this.items.length; } // Time Complexity: // Enqueue: O(1) // Dequeue: O(n) with array, O(1) with linked list // Front: O(1) // Search: O(n)Swipe horizontally to view full code
Explanation
Queues are linear data structures that follow the FIFO principle. They're used in task scheduling, BFS algorithms, and request handling systems. Enqueue adds to rear, dequeue removes from front.
Operations & Complexity
EnqueueO(1)
Add element to rear
DequeueO(1)
Remove element from front
FrontO(1)
View front element
SearchO(n)
Must traverse queue
Time Complexity
EnqueueO(1)
Add element to rear
DequeueO(1)
Remove element from front
FrontO(1)
View front element
SearchO(n)
Must traverse queue