Open In App

deque insert() function in C++ STL

Last Updated : 14 Jun, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

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




// 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

Time Complexity: O(n)

Auxiliary Space: O(1)

Program 2: 

CPP




// 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

Time Complexity: O(n)

Auxiliary Space: O(1)

Program 3: 

CPP




// 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

Time Complexity: O(n)

Auxiliary Space: O(1)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads