DEV Community

Cover image for Queue Data Structure
Elijah Watson
Elijah Watson

Posted on

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.

Think of a Queue as a line at a store; the first person to get in the line is also the first person to get out the line.
Image description

Adding a value to a queue is 'enqueue' and removing is 'dequeue.'

Enqueue: Adds an item from the back of the queue.
Dequeue: Removes an item from the front of the queue.
Front/Peek: Returns the value of the item in front of the queue without dequeuing (removing) the item.
IsEmpty: Checks if the queue is empty.
IsFull: Checks if the queue is full.
Display: Prints all the items in the queue.

Queue is used when things don’t have to be processed immediately, but have to be processed in First In First Out order.
Queue can be used in several things like:

-Task Scheduling: Queues can be used to schedule tasks based on priority or the order in which they were received.

  • Resource Allocation: Queues can be used to manage and allocate resources, such as printers or CPU processing time.

  • Batch Processing: Queues can be used to handle batch processing jobs, such as data analysis or image rendering.

  • Message Buffering: Queues can be used to buffer messages in communication systems, such as message queues in messaging systems or buffers in computer networks.

  • Event Handling: Queues can be used to handle events in event-driven systems, such as GUI applications or simulation systems.
    Sources:

    GeeksForGeeks
    FreeCodeCamp

Top comments (0)