Skip to content
Related Articles

Related Articles

Improve Article

deque insert() function in C++ STL

  • Difficulty Level : Basic
  • Last Updated : 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;
}
Output:
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;
}
Output:
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;
}
Output:
Deque contains: 1 10 10 2 3 4 5
Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.



My Personal Notes arrow_drop_up
Recommended Articles
Page :