DSA Basics: Queue

Learn queue operations, FIFO behavior, and why queues are used for ordered processing.

Back to Learn DSA

A queue is a linear data structure where the first value added is the first value removed.

This rule is called FIFO, which means First In, First Out.

Core operations

Mental model

Think of people standing in a line. The first person to join the line is served first.

front -> 10, 20, 30 <- rear

JavaScript implementation

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

	enqueue(value) {
		this.items.push(value);
	}

	dequeue() {
		return this.items.shift();
	}

	front() {
		return this.items[0];
	}
}

For large queues, avoid shift() because it moves every remaining item. A better production queue tracks a frontIndex.

Where queues show up

Complexity

Use the visualizer below to enqueue and dequeue values.

Interactive walkthrough

Queue Visualizer

Enqueue at the rear and dequeue from the front.