Skip to content
Related Articles

Related Articles

Save Article
Improve Article
Save Article
Like Article

vector insert() function in C++ STL

  • Difficulty Level : Easy
  • Last Updated : 23 Jan, 2020

std::vector::insert() is a built-in function in C++ STL which inserts new elements before the element at the specified position, effectively increasing the container size by the number of elements inserted.

  1. Syntax:
    vector_name.insert (position, val)
    

    Parameter:The function accepts two parameters specified as below:

    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.
    • position – It specifies the iterator which points to the position where the insertion is to be done.
    • val – It specifies the value to be inserted.

    Return value: The function returns an iterator which points to the newly inserted element.

    Example 1: Below program illustrates the above mentioned function where new elements are inserted at the front.






    // Program below illustrates the
    // vector::insert() function
      
    #include <bits/stdc++.h>
    using namespace std;
      
    int main()
    {
        // initialising the vector
        vector<int> vec = { 10, 20, 30, 40 };
      
        // inserts 3 at front
        auto it = vec.insert(vec.begin(), 3);
        // inserts 2 at front
        vec.insert(it, 2);
      
        int i = 2;
        // inserts 7 at i-th index
        it = vec.insert(vec.begin() + i, 7);
      
        cout << "The vector elements are: ";
        for (auto it = vec.begin(); it != vec.end(); ++it)
            cout << *it << " ";
      
        return 0;
    }
    Output:
    The vector elements are: 2 3 7 10 20 30 40
    

    Example 2: Below program illustrates the above mentioned function where new elements are inserted at a specific position.




    // Program below illustrates the
    // vector::insert() function
      
    #include <bits/stdc++.h>
    using namespace std;
      
    int main()
    {
        // initialising the vector
        vector<int> vec = { 10, 20, 70, 80 };
        int x = 50;
      
        // inserting multiple elements
        // at specific positions
        vec.insert(vec.begin() + 2, { 30, 40, x, 60 });
      
        cout << "The vector elements are: ";
        for (auto it : vec)
            cout << it << " ";
      
        return 0;
    }
    Output:
    The vector elements are: 10 20 30 40 50 60 70 80
    
  2. Syntax:
    vector_name.insert(position, size, val)
    

    Parameter:The function accepts three parameters specified as below:

    • position – It specifies the iterator which points to the position where the insertion is to be done.
    • size – It specifies the number of times a val is to be inserted at the specified position.
    • val – It specifies the value to be inserted.

    Return value: The function returns an iterator which points to the newly inserted element.

    Below program illustrates the above mentioned function:




    // program below illustrates the
    // vector::insert() function
      
    #include <bits/stdc++.h>
    using namespace std;
      
    int main()
    {
        // initialising the vector
        vector<int> vec = { 10, 20, 30, 40 };
      
        // inserts 3 one time at front
        auto it = vec.insert(vec.begin(), 1, 3);
      
        // inserts 4 two times at front
        vec.insert(it, 2, 4);
      
        cout << "The vector elements are: ";
        for (auto it = vec.begin(); it != vec.end(); ++it)
            cout << *it << " ";
      
        return 0;
    }
    Output:
    The vector elements are: 4 4 3 10 20 30 40
    
  3. Syntax:
    vector_name.insert(position, iterator1, iterator2)
    

    Parameter:The function accepts three parameters specified as below:

    • position – It specifies the position at which insertion is to be done in vector.
    • iterator1 – It specifies the starting position from which the elements are to be inserted
    • iterator2 – It specifies the ending position till which elements are to be inserted

    Return value: The function returns an iterator which points to the newly inserted element.

    Below is the illustration of above function:




    // program below illustrates the
    // vector::insert() function
      
    #include <bits/stdc++.h>
    using namespace std;
      
    int main()
    {
        // initialising the vector
        vector<int> vec1 = { 10, 20, 30, 40 };
        vector<int> vec2;
      
        // inserts at the beginning of vec2
        vec2.insert(vec2.begin(), vec1.begin(), vec1.end());
      
        cout << "The vector2 elements are: ";
        for (auto it = vec2.begin(); it != vec2.end(); ++it)
            cout << *it << " ";
      
        return 0;
    }
    Output:
    The vector2 elements are: 10 20 30 40
    



My Personal Notes arrow_drop_up
Recommended Articles
Page :