Stacks and Queues· 15 min

Queue (FIFO)

Enqueue and dequeue — first in, first out

Setup

Current step

Stack initialized with [10, 25, 40].

Step log

Dequeue (Front)Enqueue (Back)
→
10Front
25
40Back
← items exit here
items enter here →
Size: 3Front: 10
queue.java
1class Queue<T> {
2 private Deque<T> items = new ArrayDeque<>();
3 void enqueue(T x) { items.addLast(x); }
4 T dequeue() { return items.removeFirst(); }
5 T front() { return items.peekFirst(); }
6 boolean isEmpty() { return items.isEmpty(); }
7}
● Java

Queue (FIFO)

A queue is a First-In-First-Out structure: elements are removed in the same order they were added. Used for BFS, scheduling, buffering.

Push/Enqueue
O(1)
Pop/Dequeue
O(n)*
Peek/Front
O(1)
Space
O(n)

* shift() is O(n) on arrays; O(1) on a linked-list-backed queue.