# Queue Data Structure

• Last Updated : 20 Jan, 2023

## 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

## 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:

Implementation of Queue in various Programming Languages:

Some other Implementations of Queue Data Structure:

Some Must Solve Standard Problems on Queue Data Structure:

### Complete Interview Preparation

Prepare for a job interview with confidence and clarity, Here you’ll get prepared for each and every subject & skill relevant to the interview whether it be core CS subjects, programming language, reasoning & aptitude, resume building, etc. at budget-friendly prices with GeeksforGeeks Complete Interview Preparation Course.

### Live Courses

Enrol today to learn data structures, Get best-in-industry real-time GFG Live Courses to upskill yourself and get into your dream company. You can attend these live classes from any geographical region and here you can ask your doubts to the instructor just like an offline classroom program. Do check out these valuable Live Courses by GeeksforGeeks – System Design Live, Competitive Programming Live, and more!

### Language Foundation Courses[ C Programming / C++ / JAVA / Python ]

Each language is designed to get you right into hands-on practice by offering Language Foundation Courses. Learn any programming language from scratch and understand all its fundamental concepts for a strong programming foundation in the easiest possible manner at best price possible with help of GeeksforGeeks Language Foundation Courses –
C Programming | Java Foundation | Python Foundation | C++ Foundation.

Recomended:

My Personal Notes arrow_drop_up