The C++ std::deque::pop_front() function is used to remove the first element from the deque, reducing its size by one. It does not return the removed element. After calling this function, all the remaining elements are shifted one position towards the front.
SyntaxWhen we try to invoke the pop_front() function on empty deque, it results in undefined behaviour.
Following is the syntax for std::deque::pop_front() function.
void pop_front();Parameters
It does not accept any parameter.
Return valueThis function does not return anything.
ExceptionsCalling this function on empty deque causes undefined behavior.
Time complexityThe time complexity of this function is constant i.e. O(1)
ExampleIn the following example, we are going to consider the basic usage of the pop_front() function.
#include <iostream> #include <deque> int main() { std::deque<char> A = {'A', 'B', 'C', 'D'}; A.pop_front(); std::cout << "After pop_front(): "; for (char n : A) std::cout << n << " "; std::cout << std::endl; return 0; }Output
Output of the above code is as follows −
After pop_front(): B C DExample
Consider the following example, where we are going to handle the empty deque.
#include <iostream> #include <deque> int main() { std::deque<int> a; if (!a.empty()) { a.pop_front(); } else { std::cout << "Deque is empty, cannot perform pop_front()." << std::endl; } return 0; }Output
Following is the output of the above code −
Deque is empty, cannot perform pop_front().Example
In the following example, we are going to perform the conditional removal of the elements.
#include <iostream> #include <deque> int main() { std::deque<int> a = {01,12,23,34,45}; while (!a.empty() && a.front() < 23) { a.pop_front(); } for (int n : a) { std::cout << n << ' '; } return 0; }Output
If we run the above code it will generate the following output −
23 34 45
deque.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4