# What Is Queue in Data Structure Types?

//

Larry Thompson

A queue is a fundamental data structure in computer science that follows the First-In-First-Out (FIFO) principle. It is an ordered collection of elements where the addition of new elements happens at one end, called the rear, and the removal of existing elements occurs from the other end, known as the front.

## Overview

In simple terms, a queue can be visualized as a line of people waiting for a service. The person who arrives first gets served first, and new people join at the end of the line. Similarly, in a programming context, a queue allows us to manage data in a way that ensures fairness and order.

## Basic Operations

Queues support two primary operations:

• Enqueue: This operation adds an element to the rear of the queue.
• Dequeue: This operation removes an element from the front of the queue.

The enqueue operation increases the size of the queue by one and is used when we want to add elements. On the other hand, dequeue decreases its size by one and is used when we want to remove elements from the queue.

## Main Types of Queues

### 1. Simple Queue

A simple queue, also known as a standard or regular queue, follows the FIFO principle strictly. The insertion happens at one end while deletion occurs at another end.

### 2. Circular Queue

A circular queue overcomes some limitations of a simple queue by reusing any vacant spaces left after dequeuing elements. In this type of queue, if we reach the end of an array or list representing it, we wrap around to utilize empty spaces at its beginning.

### 3. Priority Queue

A priority queue assigns a priority value to each element in the queue.

The element with the highest priority gets dequeued first. If two elements have the same priority, they follow the FIFO order. Priority queues are commonly used in scenarios where ordering elements based on their importance is crucial.

## Real-World Examples

Queues can be found in various real-world scenarios:

• Operating Systems: Queues are used to manage processes waiting to be executed by the CPU.
• Traffic Management: Traffic signals implement queues to manage vehicle movements at intersections.
• Printers: Printers use queues to handle multiple print jobs sent by different users.

In conclusion, a queue is an essential data structure that maintains order and fairness in managing elements. By incorporating enqueue and dequeue operations, different types of queues cater to specific requirements in various applications.