vector insert() function in C++ STL

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:

    • 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.



    Below program illustrates the above mentioned function:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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);
      
        cout << "The vector elements are: "
        for (auto it = vec.begin(); it != vec.end(); ++it)
            cout << *it << " ";
      
        return 0;
    }

    chevron_right

    
    

    Output:

    The vector elements are: 2 3 10 20 30 40
    
  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:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

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

    chevron_right

    
    

    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:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

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

    chevron_right

    
    

    Output:

    The vector2 elements are: 10 20 30 40
    


My Personal Notes arrow_drop_up

Contented with little yet wishing for more

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


9


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.