deque insert() function in C++ STL - GeeksforGeeks

12 Dec, 2018
The deque::insert() function is a built-in function in C++ which is used to insert elements in the deque.The insert() function can be used in three ways:
Extends deque by inserting a new element val at a position.
Extends deque by inserting n new element of value val in the deque.
Extends deque by inserting new element in the range [first, last).
Syntax:
deque_name.insert (iterator position, const value_type& val)
                or
deque_name.insert (iterator position, size_type n, const value_type& val)
                or
deque_name.insert (iterator position, InputIterator first, InputIterator last)

Parameters: The function accepts four parameters which are specified as below:
position – Specifies the position where the element/elements are to be inserted.
val – specifies the value to be assigned to newly inserted element.
n – specifies the number of elements to insert. Each element is initialized to a copy of val.
first, last – specifies the iterators specifying a range of elements which is to be inserted. The range includes all the elements between first and last, including the element pointed by first but not the one pointed by last.
Return value: The function returns an iterator that points to the first of the newly inserted elements.
Below programs illustrate the above function:Program 1:
// CPP program to illustrate the// deque::insert() function// insert elements by iterator#include <bits/stdc++.h>using namespace std;  int main(){    deque<int> dq = { 1, 2, 3, 4, 5 };      deque<int>::iterator it = dq.begin();    ++it;      it = dq.insert(it, 10); // 1 10 2 3 4 5      std::cout << "Deque contains:";    for (it = dq.begin(); it != dq.end(); ++it)        cout << ' ' << *it;    cout << '\n';      return 0;}
Deque contains: 1 10 2 3 4 5

Program 2:
// CPP program to illustrate the// deque::insert() function// program for second syntax#include <bits/stdc++.h>using namespace std;  int main(){    deque<int> dq = { 1, 2, 3, 4, 5 };      deque<int>::iterator it = dq.begin();      // 0 0 1 2 3 4 5    dq.insert(it, 2, 0);      std::cout << "Deque contains:";      for (it = dq.begin(); it != dq.end(); ++it)        cout << ' ' << *it;    cout << '\n';      return 0;}
Deque contains: 0 0 1 2 3 4 5

Program 3:
// CPP program to illustrate the// deque::insert() function// program for third syntax#include <bits/stdc++.h>using namespace std;  int main(){    deque<int> dq = { 1, 2, 3, 4, 5 };      deque<int>::iterator it = dq.begin();    ++it;      vector<int> v(2, 10);      // 1 10 10 2 3 4 5    dq.insert(it, v.begin(), v.end());      std::cout << "Deque contains:";    for (it = dq.begin(); it != dq.end(); ++it)        cout << ' ' << *it;    cout << '\n';      return 0;}
Deque contains: 1 10 10 2 3 4 5

BhushanPagare
cpp-deque
CPP-Functions
STL
C++
STL
CPP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Operator Overloading in C++
Polymorphism in C++
Friend class and function in C++
Sorting a vector in C++
std::string class in C++
Inline Functions in C++
Pair in C++ Standard Template Library (STL)
Array of Strings in C++ (5 Different Ways to Create)
Convert string to char array in C++
List in C++ Standard Template Library (STL)