queue::push() and queue::pop() in C++ STL
Queue are a type of container adaptors which operate in a first in first out (FIFO) type of arrangement. Elements are inserted at the back (end) and are deleted from the front.
push() function is used to insert an element at the back of the queue. The element is added to the queue container and the size of the queue is increased by 1.
Syntax :
queuename.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 error if the value passed doesn’t match the queue type.
- Shows no exception throw guarantee if the parameter doesn’t throw any exception.
// CPP program to illustrate // Implementation of push() function #include <iostream> #include <queue> using namespace std; int main() { // Empty Queue queue< int > myqueue; myqueue.push(0); myqueue.push(1); myqueue.push(2); // Printing content of queue while (!myqueue.empty()) { cout << ' ' << myqueue.front(); myqueue.pop(); } } |
Output:
0 1 2
pop() function is used to remove an element from the front of the queue(oldest element in the queue). The element is removed to the queue container and the size of the queue is decreased by 1.
Syntax :
queuename.pop(value) Parameters : No parameters are passed 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 error if a parameter is passed.
- Shows no exception throw guarantee if the parameter doesn’t throw any exception.
// CPP program to illustrate // Implementation of pop() function #include <iostream> #include <queue> using namespace std; int main() { // Empty Queue queue< int > myqueue; myqueue.push(0); myqueue.push(1); myqueue.push(2); // queue becomes 0, 1, 2 myqueue.pop(); myqueue.pop(); // queue becomes 2 // Printing content of queue while (!myqueue.empty()) { cout << ' ' << myqueue.front(); myqueue.pop(); } } |
Output:
2
Application : push() and pop()
Given a number of integers, add them to the queue and find the size of the queue without using size function.
Input : 5, 13, 0, 9, 4 Output: 5
Algorithm
1. Push the given elements to the queue container one by one.
2. Keep popping the elements of queue until the queue becomes empty, and increment the counter variable.
3. Print the counter variable.
// CPP program to illustrate // Application of push() and pop() function #include <iostream> #include <queue> using namespace std; int main() { int c = 0; // Empty Queue queue< int > myqueue; myqueue.push(5); myqueue.push(13); myqueue.push(0); myqueue.push(9); myqueue.push(4); // queue becomes 5, 13, 0, 9, 4 // Counting number of elements in queue while (!myqueue.empty()) { myqueue.pop(); c++; } cout << c; } |
Output:
5
Recommended Posts:
- Minimum cells to be flipped to get a 2*2 submatrix with equal elements
- Nested Loops in C++ with Examples
- _Find_first() function in C++ bitset with Examples
- _Find_next() function in C++ bitset with Examples
- Left-Right traversal of all the levels of N-ary tree
- Difference between Iterators and Pointers in C/C++ with Examples
- ostream::seekp(pos) method in C++ with Exmaples
- Default Methods in C++ with Examples
- C++ Tutorial
- Hello World Program : First program while learning Programming
- Difference between Argument and Parameter in C/C++ with Examples
- <cfloat> float.h in C/C++ with Examples
- C/C++ #include directive with Examples
- C/C++ if else statement with Examples
- C/C++ if statement with Examples
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.