The C++ std::deque::push_front() function is used to insert the element at the beginning of the deque. It efficiently adds the element to the front, moving the existing elements to insert the new element. Unlike vector, deque supports efficient insertion and deletion at both the ends.
This function has 2 polymorphic variants: with using the default version and the move version (you can find the syntaxes of all the variants below).
SyntaxFollowing is the syntax for std::deque::push_front() function.
void push_front (const value_type& val); or void push_front (value_type&& val);Parameters
It does not return anything.
ExceptionsThis function never throws exception.
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 push_front() function.
#include <iostream> #include <deque> int main() { std::deque<char> a = {'B', 'C', 'D'}; a.push_front('A'); for (auto& elem : a) { std::cout << elem << " "; } std::cout << std::endl; return 0; }Output
Output of the above code is as follows −
A B C DExample
Consider the following example, where we are going to insert the elements in the loop.
#include <iostream> #include <deque> int main() { std::deque<int> a; for (int x = 0; x <= 4; ++x) { a.push_front(x * 2); } for (auto y = a.begin(); y != a.end(); ++y) { std::cout << *y << " "; } std::cout << std::endl; return 0; }Output
Following is the output of the above code −
8 6 4 2 0Example
Let's look at the following example, where we are going to use push_front() with strings.
#include <iostream> #include <deque> #include <string> int main() { std::deque<std::string> a; a.push_front("Hi"); a.push_front("Hello"); for (const auto& str : a) { std::cout << str << " "; } std::cout << std::endl; return 0; }Output
If we run the above code it will generate the following output −
Hello Hi
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