Home » Queue Operations in Data Structure

Queue Operations in Data Structure

by Online Tutorials Library

Queue Operations in Data Structure

What is a Queue?

A queue is a logical group of elements in which updates or changes are introduced at one side (the “back”) and existing items are deleted at the opposite end (the “front”) (the “front”). When an item is introduced to the queue, it moves from the back to the front, ready to be eliminated next. The queue’s newly acquired item will have to wait until the collection’s finish. This way of ordering is also known as first-in-first-out (FIFO) (first-in, first-out). “First-come, first-served” is another term for it.

Operating systems employ a variety of queues to manage things within a system. The next job is frequently planned using a queuing approach in order to run programs as quickly as feasible while servicing the largest number of people possible. Furthermore, while we type, keystrokes might occasionally outweigh the text on the screen. The reason is that the computer is now engaged with other duties. The strokes of keys are queued in a file and eventually shown on the screen in the right sequence.

Different operations in Queue Data Structure:

The various operations that are supported by a queue data structure that helps the user to modify and manipulate the data present in the queue are:

  • Enqueue operation: The term “enqueue” refers to the act of adding a new element to a queue. Where does a new individual go and wait in a standard queue at a ticket counter to join the queue? The individual walks to the back of the room and takes a seat. A new element in a queue is similarly added at the end of the queue.
  • Dequeue operation: Dequeue is the process of deleting an item from a queue. We must delete the queue member that was put first since the queue follows the FIFO principle. We’ll delete the front element and make the element behind it the new front element because the element added initially will naturally be at the head of the queue.
  • Front Operation: This works similarly to the peek operation in stacks in that it returns the value of the first element without deleting it.
  • isEmpty Operation: The isEmpty() function is used to check if the Queue is empty or not.
  • isFull Operation: The isFull() function is used to check if the Queue is full or not.

After seeing all the different valid operations for the queue data structure, let us write a code to implement all of these operations as functions in the desired programming language.

Let us begin with writing a basic program in Java programming language that will have the functions to simulate all the operations discussed above on the queue data structure.

Java Code:

Output:

SIZE_OF_QUEUE of Queue_Data_Structure is 8      Select one of the operations::  1. To insert data in the Queue_Data_Structure Data Structure.  2. To display the data present in the Queue_Data_Structure Data Structure.  3. To perform deQueue_Data_Structure operation on the Queue_Data_Structure Data Structure.  1  Integer value for the Queue  67  Inserted 67    Do you want to continue (Type y or n)     y    Select one of the operations::  1. To insert data in the Queue_Data_Structure Data Structure.  2. To display the data present in the Queue_Data_Structure Data Structure.  3. To perform deQueue_Data_Structure operation on the Queue_Data_Structure Data Structure.  1  Integer value for the Queue  54  Inserted 54    Do you want to continue (Type y or n)     y    Select one of the operations::  1. To insert data in the Queue_Data_Structure Data Structure.  2. To display the data present in the Queue_Data_Structure Data Structure.  3. To perform deQueue_Data_Structure operation on the Queue_Data_Structure Data Structure.  1  Integer value for the Queue  45  Inserted 45    Do you want to continue (Type y or n)     y    Select one of the operations::  1. To insert data in the Queue_Data_Structure Data Structure.  2. To display the data present in the Queue_Data_Structure Data Structure.  3. To perform deQueue_Data_Structure operation on the Queue_Data_Structure Data Structure.  1  Integer value for the Queue  33  Inserted 33    Do you want to continue (Type y or n)     y    Select one of the operations::  1. To insert data in the Queue_Data_Structure Data Structure.  2. To display the data present in the Queue_Data_Structure Data Structure.  3. To perform deQueue_Data_Structure operation on the Queue_Data_Structure Data Structure.  1  Integer value for the Queue  21  Inserted 21    Do you want to continue (Type y or n)     y    Select one of the operations::  1. To insert data in the Queue_Data_Structure Data Structure.  2. To display the data present in the Queue_Data_Structure Data Structure.  3. To perform deQueue_Data_Structure operation on the Queue_Data_Structure Data Structure.  1  Integer value for the Queue  18  Inserted 18    Do you want to continue (Type y or n)     y    Select one of the operations::  1. To insert data in the Queue_Data_Structure Data Structure.  2. To display the data present in the Queue_Data_Structure Data Structure.  3. To perform deQueue_Data_Structure operation on the Queue_Data_Structure Data Structure.  1   Integer value for the Queue  78  Inserted 78    Do you want to continue (Type y or n)     y    Select one of the operations::  1. To insert data in the Queue_Data_Structure Data Structure.  2. To display the data present in the Queue_Data_Structure Data Structure.  3. To perform deQueue_Data_Structure operation on the Queue_Data_Structure Data Structure.  1   Integer value for the Queue  98  Inserted 98    Do you want to continue (Type y or n)     y    Select one of the operations::  1. To insert data in the Queue_Data_Structure Data Structure.  2. To display the data present in the Queue_Data_Structure Data Structure.  3. To perform deQueue_Data_Structure operation on the Queue_Data_Structure Data Structure.  2  Queue_Data_Structure::    front_index index-> 0  array_of_Queue ->   67  54  45  33  21  18  78  98    rear_index index-> 7    Do you want to continue (Type y or n)     y    Select one of the operations::  1. To insert data in the Queue_Data_Structure Data Structure.  2. To display the data present in the Queue_Data_Structure Data Structure.  3. To perform deQueue_Data_Structure operation on the Queue_Data_Structure Data Structure.  1  Integer value for the Queue  100  Queue_Data_Structure is full    Do you want to continue (Type y or n)     y    Select one of the operations::  1. To insert data in the Queue_Data_Structure Data Structure.  2. To display the data present in the Queue_Data_Structure Data Structure.  3. To perform deQueue_Data_Structure operation on the Queue_Data_Structure Data Structure.  3  67 Deleted    Do you want to continue (Type y or n)     y    Select one of the operations::  1. To insert data in the Queue_Data_Structure Data Structure.  2. To display the data present in the Queue_Data_Structure Data Structure.  3. To perform the deQueue_Data_Structure operation on the Queue_Data_Structure Data Structure.  2  Queue_Data_Structure::    front_index index-> 0  array_of_Queue ->   54  45  33  21  18  78  98    rear_index index-> 6    Do you want to continue (Type y or n)     n  

Now let us have a look at the C++ code to implement Queue data structure.

C++ Code:

Output:

SIZE_OF_QUEUE of Queue_Data_Struct is 7.    Select any one of the operations::  1. To insert data in the Queue_Data_Struct Data Structure.  2. To display the data present in the Queue_Data_Struct Data Structure.  3. To perform the deQueue_Data_Struct operation on the Queue_Data_Struct Data Structure.  1  Integer value for the Queue  56    Inserted 56    Do you want to continue (Type y or n)   y    Select any one of the operations::  1. To insert data in the Queue_Data_Struct Data Structure.  2. To display the data present in the Queue_Data_Struct Data Structure.  3. To perform the deQueue_Data_Struct operation on the Queue_Data_Struct Data Structure.  1  Integer value for the Queue  44    Inserted 44    Do you want to continue (Type y or n)   y    Select any one of the operations::  1. To insert data in the Queue_Data_Struct Data Structure.  2. To display the data present in the Queue_Data_Struct Data Structure.  3. To perform the deQueue_Data_Struct operation on the Queue_Data_Struct Data Structure.  1  Integer value for the Queue  32    Inserted 32    Do you want to continue (Type y or n)   y    Select any one of the operations::  1. To insert data in the Queue_Data_Struct Data Structure.  2. To display the data present in the Queue_Data_Struct Data Structure.  3. To perform the deQueue_Data_Struct operation on the Queue_Data_Struct Data Structure.  1  Integer value for the Queue  98    Inserted 98    Do you want to continue (Type y or n)   y    Select any one of the operations::  1. To insert data in the Queue_Data_Struct Data Structure.  2. To display the data present in the Queue_Data_Struct Data Structure.  3. To perform the deQueue_Data_Struct operation on the Queue_Data_Struct Data Structure.  1  Integer value for the Queue  342    Inserted 342    Do you want to continue (Type y or n)   y    Select any one of the operations::  1. To insert data in the Queue_Data_Struct Data Structure.  2. To display the data present in the Queue_Data_Struct Data Structure.  3. To perform the deQueue_Data_Struct operation on the Queue_Data_Struct Data Structure.  1  Integer value for the Queue  87    Inserted 87    Do you want to continue (Type y or n)   y    Select any one of the operations::  1. To insert data in the Queue_Data_Struct Data Structure.  2. To display the data present in the Queue_Data_Struct Data Structure.  3. To perform the deQueue_Data_Struct operation on the Queue_Data_Struct Data Structure.  1  Integer value for the Queue  12    Inserted 12    Do you want to continue (Type y or n)   y    Select any one of the operations::  1. To insert data in the Queue_Data_Struct Data Structure.  2. To display the data present in the Queue_Data_Struct Data Structure.  3. To perform the deQueue_Data_Struct operation on the Queue_Data_Struct Data Structure.  1  Integer value for the Queue  4  Queue_Data_Struct is full  Do you want to continue (Type y or n)   y    Select any one of the operations::  1. To insert data in the Queue_Data_Struct Data Structure.  2. To display the data present in the Queue_Data_Struct Data Structure.  3. To perform the deQueue_Data_Struct operation on the Queue_Data_Struct Data Structure.  2  Contents of the Queue_Data_Struct are::    front_index index-> 0  array_of_Queue -> 56  44  32  98  342  87  12    rear_index index-> 6    Do you want to continue (Type y or n)   y    Select any one of the operations::  1. To insert data in the Queue_Data_Struct Data Structure.  2. To display the data present in the Queue_Data_Struct Data Structure.  3. To perform the deQueue_Data_Struct operation on the Queue_Data_Struct Data Structure.  3  deQueue_Data_Struct operation successful.    Deleted -> 56    Do you want to continue (Type y or n)   y    Select any one of the operations::  1. To insert data in the Queue_Data_Struct Data Structure.  2. To display the data present in the Queue_Data_Struct Data Structure.  3. To perform the deQueue_Data_Struct operation on the Queue_Data_Struct Data Structure.  2  Contents of the Queue_Data_Struct are::    front_index index-> 1  array_of_Queue -> 44  32  98  342  87  12    rear_index index-> 6    Do you want to continue (Type y or n)   n  

Now let us have a look at the C code to implement the Queue data structure.

C Code:

Output:

Select any one of the operations::  1. To insert data in the Queue Data Structure.  2. To display the data present in the Queue Data Structure.  3. To perform the deQueue operation on the Queue Data Structure.  1    Integer value for the Queue  23    Inserted -> 23  Do you want to continue (Type y or n)  y    Select any one of the operations::  1. To insert data in the Queue Data Structure.  2. To display the data present in the Queue Data Structure.  3. To perform the deQueue operation on the Queue Data Structure.  1    Integer value for the Queue  22    Inserted -> 22  Do you want to continue (Type y or n)  y    Select any one of the operations::  1. To insert data in the Queue Data Structure.  2. To display the data present in the Queue Data Structure.  3. To perform the deQueue operation on the Queue Data Structure.  1    Integer value for the Queue  87    Inserted -> 87  Do you want to continue (Type y or n)  y    Select any one of the operations::  1. To insert data in the Queue Data Structure.  2. To display the data present in the Queue Data Structure.  3. To perform the deQueue operation on the Queue Data Structure.  1    Integer value for the Queue  12    Inserted -> 12  Do you want to continue (Type y or n)  y    Select any one of the operations::  1. To insert data in the Queue Data Structure.  2. To display the data present in the Queue Data Structure.  3. To perform the deQueue operation on the Queue Data Structure.  1    Integer value for the Queue  90    Inserted -> 90  Do you want to continue (Type y or n)  y    Select any one of the operations::  1. To insert data in the Queue Data Structure.  2. To display the data present in the Queue Data Structure.  3. To perform the deQueue operation on the Queue Data Structure.  1    Integer value for the Queue  78    Inserted -> 78  Do you want to continue (Type y or n)  y    Select any one of the operations::  1. To insert data in the Queue Data Structure.  2. To display the data present in the Queue Data Structure.  3. To perform the deQueue operation on the Queue Data Structure.  1    Integer value for the Queue  56    Inserted -> 56  Do you want to continue (Type y or n)  y    Select any one of the operations::  1. To insert data in the Queue Data Structure.  2. To display the data present in the Queue Data Structure.  3. To perform the deQueue operation on the Queue Data Structure.  1    Integer value for the Queue  45    Queue is Full!!  Do you want to continue (Type y or n)  y    Select any one of the operations::  1. To insert data in the Queue Data Structure.  2. To display the data present in the Queue Data Structure.  3. To perform the deQueue operation on the Queue Data Structure.  2    Contents of the Queue are::    Queue elements are:  23  22  87  12  90  78  56      Do you want to continue (Type y or n)  y    Select any one of the operations::  1. To insert data in the Queue Data Structure.  2. To display the data present in the Queue Data Structure.  3. To perform the deQueue operation on the Queue Data Structure.  3    Dequeue Done.    Deleted : 23  Do you want to continue (Type y or n)  y    Select any one of the operations::  1. To insert data in the Queue Data Structure.  2. To display the data present in the Queue Data Structure.  3. To perform the deQueue operation on the Queue Data Structure.  2    Contents of the Queue are::    Queue elements are:  22  87  12  90  78  56      Do you want to continue (Type y or n)  n  

So, in this article, we understood the Queue data structure and various operations that we can do on the Queue data structure to modify and manipulate the data present in the Queue. And in the latter section of the article, we also have written code in three different programming languages (C, C++, and Java) where each operation of the Queue Data structure is implemented as an individual function that is called whenever we need to perform that particular operation on the data in the Queue.


You may also like