Queue Data Structure

  • Last Updated : 27 Sep, 2023

DSA for Beginners
Learn more about Queue in DSA Self Paced Course
Practice Problems on Queue
Top Quizzes on Queue

What is Queue Data Structure?

A Queue is defined as a linear data structure that is open at both ends and the operations are performed in First In First Out (FIFO) order.

We define a queue to be a list in which all additions to the list are made at one end, and all deletions from the list are made at the other end.  The element which is first pushed into the order, the operation is first performed on that.

Queue Data Structure

FIFO Principle of Queue:

  • A Queue is like a line waiting to purchase tickets, where the first person in line is the first person served. (i.e. First come first serve).
  • Position of the entry in a queue ready to be served, that is, the first entry that will be removed from the queue, is called the front of the queue(sometimes, head of the queue), similarly, the position of the last entry in the queue, that is, the one most recently added, is called the rear (or the tail) of the queue. See the below figure.
Fifo Property in Queue

Fifo Property in Queue

Characteristics of Queue:

  • Queue can handle multiple data.
  • We can access both ends.
  • They are fast and flexible. 

Queue Representation:

Like stacks, Queues can also be represented in an array: In this representation, the Queue is implemented using the array. Variables used in this case are

  • Queue: the name of the array storing queue elements.
  • Front: the index where the first element is stored in the array representing the queue.
  • Rear: the index where the last element is stored in an array representing the queue.

Topics :


Introduction to Queue Data Structure:

  1. Introduction to Queue – Data Structure and Algorithm Tutorials
  2. Implementations of Queue Data Structure using Arrays
  3. Implementations of Queue Data Structure using Linked List
  4. Applications, Advantages and Disadvantages of Queue
  5. Different Types of Queue

Implementation of Queue in various Programming Languages:

  1. Queue in C++ Standard Template Library (STL)
  2. Queue Interface In Java
  3. Queue In Python
  4. Queue In C#
  5. Queue in Javascript

Some other Implementations of Queue Data Structure:

  1. Implementation of Deque using doubly linked list
  2. Implement a stack using single queue
  3. Implement Queue using Stacks
  4. How to efficiently implement k Queues in a single array?
  5. LRU Cache Implementation

Some Must Solve Standard Problems on Queue Data Structure:

Quick Links: