1. What Is a Queue?

Queue is a linear data structure that follows the principle:

FIFO – First In, First Out

So many people are already benefiting from this software development course

This means:

  • The first element added is the first one removed
  • Just like a real-life queue (bank line, food line)

Example (Real-Life Analogy)

Learn coding online

People in line:  A → B → C → D
Served first:    A

2. Basic Operations of a Queue

OperationDescription
enqueueAdd an element to the rear
dequeueRemove an element from the front
frontGet the front element
backGet the last element
isEmptyCheck if queue is empty
sizeNumber of elements

3. Queue in C++ (STL)

C++ provides the queue container in the Standard Template Library (STL).

Header File

#include <queue>

Declaration

queue<int> q;

4. Basic Queue Example

#include <iostream>
#include <queue>
using namespace std;

int main() {
    queue<int> q;

    q.push(10);   // enqueue
    q.push(20);
    q.push(30);

    cout << "Front: " << q.front() << endl; // 10
    cout << "Back: " << q.back() << endl;   // 30

    q.pop(); // dequeue

    cout << "Front after pop: " << q.front() << endl; // 20
    cout << "Size: " << q.size() << endl;

    return 0;
}

5. Queue Functions Explained

FunctionPurpose
push(x)Insert element at rear
pop()Remove front element
front()Access first element
back()Access last element
empty()Returns true if empty
size()Returns number of elements

6. Visual Representation

Queue (FIFO)

Front → [10] [20] [30] ← Rear

pop() removes 10

7. Internal Working of STL Queue

  • STL queue is implemented using:
    • deque (default)
    • Can also be implemented with list
queue<int, deque<int>> q;
queue<int, list<int>> q;

❗ You cannot access elements randomly (no indexing like arrays).

8. Types of Queues

1. Simple Queue

Basic FIFO structure.

2. Circular Queue

  • Rear connects back to front
  • Efficient memory usage
  • Used in CPU scheduling

3. Priority Queue

Elements served based on priority, not order.

#include <queue>

priority_queue<int> pq;
pq.push(10);
pq.push(50);
pq.push(20);

// Top = 50

Max Heap by default

4. Double-Ended Queue (Deque)

Insert/remove from both ends.

#include <deque>

deque<int> dq;
dq.push_front(10);
dq.push_back(20);

9. Implementing Queue Using Array (Manual)

#define SIZE 5
int arr[SIZE];
int front = -1, rear = -1;

Enqueue

void enqueue(int x) {
    if (rear == SIZE - 1)
        cout << "Queue Overflow";
    else {
        if (front == -1) front = 0;
        arr[++rear] = x;
    }
}

Dequeue

void dequeue() {
    if (front == -1 || front > rear)
        cout << "Queue Underflow";
    else
        front++;
}

10. Implementing Queue Using Linked List

  • Each node has:
    • data
    • next

Advantages:

  • Dynamic size
  • No overflow (until memory full)

11. Time & Space Complexity

OperationTime Complexity
EnqueueO(1)
DequeueO(1)
Front/BackO(1)

Space Complexity:

  • O(n)

12. Applications of Queue

✔ CPU Scheduling
✔ Breadth-First Search (BFS)
✔ Print Queue
✔ Call Center Systems
✔ Message Queues
✔ Order Processing Systems

13. Queue vs Stack

StackQueue
LIFOFIFO
Push/PopEnqueue/Dequeue
Used in recursionUsed in scheduling

14. Common Mistakes

❌ Accessing queue elements using index
❌ Calling front() on empty queue
❌ Forgetting #include <queue>

15. When to Use Queue?

Use a queue when:

  • Order of processing matters
  • Tasks must be handled sequentially
  • Fair scheduling is required

Summary

queue in C++ is:

  • A FIFO data structure
  • Provided by STL for efficiency
  • Essential for algorithms and system design
Share
Published by
codeflare

Recent Posts

Must-Know Angular Concepts

Angular is a full-featured frontend framework built by Google for creating large, maintainable, and high-performance web applications.…

2 days ago

Responsive Web Design (RWD)

What Is Responsive Web Design? Responsive Web Design (RWD) is an approach to building websites…

2 days ago

Geolocation API in JavaScript

The Geolocation API allows a web application to access a user’s geographical location (latitude, longitude, and more), with…

1 week ago

The Golden Ratio (φ)

1. What Is the Golden Ratio? The Golden Ratio, represented by the Greek letter φ (phi), is…

2 weeks ago

CSS Combinators

In CSS, combinators define relationships between selectors. Instead of selecting elements individually, combinators allow you to target elements based…

3 weeks ago

Boolean Algebra

Below is a comprehensive, beginner-friendly, yet deeply detailed guide to Boolean Algebra, complete with definitions, laws,…

3 weeks ago