Deletion in a Queue in C++

Deletion in a Queue 


Queue is a data structure where you can insert elements in a Fast in First out manner, so you can store values in the order in which they are coming. In this basic linear data structure, pushing elements are called enqueue, and popping them out from the front end is called dequeue. Here is an article about how to perform deletions in a queue in C++, i.e. Dequeue.

Deletion in a Queue in C++ | PrepInsta
Dequeue in a Queue in C++

What is Queue?

 
Queue is a standard linear user defined data structure that allows you to pre-store  elements in the specific order it gets, as get a first in first out or FIFO feature in that.
 

To Know more about Queue : Queue in C++ STL

 

Best Queue

The Agorithm to Delete from Queue : Dequeue

Here goes the following algorithm that tells us how to dequeue / delete elements from a queue.

  • Let’s say the queue is actually built in a linked list. Here we have used a predefined linkedlist that us available inside C++ Standard template library (List in STL), and made a class where there is a member variable of that type.
  • Now Queue is first in first out. So the popping out or deletion of elements will be dine in the front of the list.  You can obtain that differently in C too.
  • That means, if the queue is empty, we have to show that the queue is empty and you cannot print anything from an empty queue, because it is empty of elements.
  • Otherwise we will simply pop the element from the front of the list and deallocate the memory from there (If it is not a static queue).
Dequeue in Queue

The code to implement this:

#include<bits/stdc++.h>
using namespace std;

class Queue
{
  public:
  list<intL;
  void Push(int i)
  {
    cout<<“Pushing the element : “<<(i)<<endl;
    L.push_back(i);
  }
  int pop()
  {
    if(L.empty()) {cout<<“The queue is empty”<<endl;}
    int a=L.front();
    L.pop_front();
    cout<<“Popping the last element : “<<a<<endl;
    return a;
  }
  void Show()
  {
    cout<<“The present queue is:”<<endl;
    for(auto i:L)
    cout<<i<<” “;
    cout<<endl;
  }
};

int main()
{
  Queue q;
  q.Push(2);q.Push(9);q.Push(3);
  q.Show();q.pop();
  q.Push(5);
  q.pop();q.pop();
  q.Show();
}

Output:

Pushing the element : 2
Pushing the element : 9
Pushing the element : 3
The present queue is:
2 9 3
Popping the last element : 2
Pushing the element : 5
Popping the last element : 9
Popping the last element : 3
The present queue is:
5

Article is contributed by Rahit Saha