queue push() and pop() in C++ STL
Last Updated :
02 Nov, 2023
The queue is a type of container that operates in a First In First Out (FIFO) type of arrangement. Elements are inserted at the back(end) and are deleted from the front of the queue. For this purpose, the member functions queue::push() and queue::pop() are used respectively.
In this article, we will discuss these queue::pop() and queue()::push() functions.
queue::push() in C++
The push() function of the queue container is used to insert an element at the back of the queue. This is an inbuilt function from C++ Standard Template Library(STL). This function belongs to the <queue> header file. The element is added to the queue container and the size of the queue is increased by 1.
Syntax
queue_name.push(value)
Parameters
- The value of the element to be inserted is passed as the parameter.
Result
- Adds an element of value same as that of the parameter passed at the back of the queue.
Examples
Input : myqueue
myqueue.push(6);
Output : 6
Input : myqueue
myqueue.push(0);
myqueue.push(1);
Output : 0, 1
Errors and Exceptions
- Shows an error if the value passed doesn’t match the queue type.
- Shows no exception throw guarantee if the parameter doesn’t throw any exception.
Example of queue::push()
CPP
#include <iostream>
#include <queue>
using namespace std;
int main()
{
int c = 0;
queue< int > myqueue;
myqueue.push(5);
myqueue.push(13);
myqueue.push(0);
myqueue.push(9);
myqueue.push(4);
while (!myqueue.empty()) {
myqueue.pop();
c++;
}
cout << c;
}
|
Time Complexity: O(1) (Queue pop() operation take constant time complexity.)
Note: Here, output is printed on the basis of FIFO property.
queue::pop() in C++
The pop() function of the queue container is used to remove an element from the front of the queue(the oldest element in the queue). This is an inbuilt function from C++ Standard Template Library(STL). This function belongs to the <queue> header file. The element is removed from the queue container and the size of the queue is decreased by 1.
Syntax
queue_name.pop()
Parameters
Result
- Removes the oldest element in the queue or basically the front element.
Examples:
Input : myqueue = 1, 2, 3
myqueue.pop();
Output : 2, 3
Input : myqueue = 3, 2, 1
myqueue.pop();
Output : 2, 1
Errors and Exceptions
- Shows an error if a parameter is passed.
- Shows no exception throw guarantee if the parameter doesn’t throw any exception.
Example of queue::pop()
Time Complexity: O(1) (Queue pop() operation take constant time complexity.)
Note: Here, output is printed on the basis of FIFO property.
Application of push() and pop() in C++
Given a number of integers, add them to the queue and find the size of the queue without using the size function.
Input : 5, 13, 0, 9, 4
Output: 5
Algorithm
- Push the given elements to the queue container one by one.
- Keep popping the elements of the queue until the queue becomes empty, and increment the counter variable.
- Print the counter variable.
Example
CPP
#include <iostream>
#include <queue>
using namespace std;
int main()
{
int c = 0;
queue< int > myqueue;
myqueue.push(5);
myqueue.push(13);
myqueue.push(0);
myqueue.push(9);
myqueue.push(4);
while (!myqueue.empty()) {
myqueue.pop();
c++;
}
cout << c;
}
|
Time complexity: O(n) // n is the size of the queue.
Auxiliary Space: O(1)
Difference between queue push() and queue pop() in C++
The following table list the differences between queue::push() and queue::pop():
S. No.
|
queue push()
|
queue pop()
|
1.
|
It is used to insert a new element at the end of the queue. |
It is used to remove the next element in the queue |
2.
|
Its syntax is -: push (value_type&& val); |
Its syntax is -: pop(); |
3.
|
It takes one parameter that is the value to be inserted. |
It does not take any parameters. |
4.
|
Its return type is void. |
Its return type is void. |
5.
|
It is present in the <queue> header file. |
It is present in the <queue> header file. |
Share your thoughts in the comments
Please Login to comment...