vector insert() Function in C++ STL
std::vector::insert() is a built-in function in C++ STL that inserts new elements before the element at the specified position, effectively increasing the container size by the number of elements inserted.
Time Complexity – Linear, O(N)
The insert function is overloaded to work on multiple cases which are as follows:
- Insert an element at the given index.
- Insert an element multiple times.
- Insert a range of elements at the given index.
1. Insert an Element at the Given Index
Syntax of insert() in Vector
vector_name.insert (position, val);
Parameters
The function accepts two parameters specified 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.
Example of insert() in vector
C++
// C++ program to illustrate the function of // vector_name.insert(position,val) #include <bits/stdc++.h> using namespace std; int main() { // Initialising the vector vector< int > vector_name{ 1, 2, 3, 4, 5 }; // Printing out the original vector cout << "Original vector :\n" ; for ( auto x : vector_name) cout << x << " " ; cout << "\n" ; // Inserting the value 100 at position 3(0-based // indexing) in the vector vector_name.insert(vector_name.begin() + 3, 100); // Printing the modified vector cout << "Vector after inserting 100 at position 3 :\n" ; for ( auto x : vector_name) cout << x << " " ; cout << "\n" ; // Inserting the value 500 at position 1(0-based // indexing) in the vector vector_name.insert(vector_name.begin() + 1, 500); // Printing the modified vector cout << "Vector after inserting 500 at position 1 :\n" ; for ( auto x : vector_name) cout << x << " " ; return 0; } // This code is contributed by Abhijeet Kumar(abhijeet19403) |
Output
Original vector : 1 2 3 4 5 Vector after inserting 100 at position 3 : 1 2 3 100 4 5 Vector after inserting 500 at position 1 : 1 500 2 3 100 4 5
2. Insert Multiple Elements at Given Index
Syntax of insert() in Vector
vector_name.insert(position, size, val)
Parameters
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.
Example of insert() in Vector
C++
// C++ program to illustrate the function of // vector_name.insert(position,size,val) #include <bits/stdc++.h> using namespace std; int main() { // Initialising the vector vector< int > vector_name{ 1, 2, 3, 4, 5 }; // Printing out the original vector cout << "Original vector :\n" ; for ( auto x : vector_name) cout << x << " " ; cout << endl; // Inserting the value 100, 4 times starting at position // 3 vector_name.insert(vector_name.begin() + 3, 4, 100); // Printing the modified vector cout << "Vector after inserting 100, 4 times, starting " "at position 3 :\n" ; for ( auto x : vector_name) cout << x << " " ; return 0; } // This code contributed by Harsh Singh (hsnooob) |
Output
Original vector : 1 2 3 4 5 Vector after inserting 100, 4 times, starting at position 3 : 1 2 3 100 100 100 100 4 5
3. Insert the Range of Elements at Given Index
Syntax of Vector insert()
vector_name.insert(position, iterator1, iterator2)
Parameters
The function accepts three parameters specified below:
- position – It specifies the position at which insertion is to be done in the 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
Example of Vector insert()
C++
// C++ program to illustrate the function of // vector_name.insert(position,itr1,itr2) #include <bits/stdc++.h> using namespace std; int main() { // Initialising the vector vector< int > original{ 1, 2, 3, 4, 5 }; vector< int > temp{ 2, 5, 9, 0, 3, 10 }; // Printing out the original vector cout << "Original vector :\n" ; for ( auto x : original) cout << x << " " ; cout << endl; // Inserting the portion of temp vector in original // vector temp.begin()+3 is starting iterator of vector // to be copied temp.begin()+5 is ending iterator of // vector to be copied original.insert(original.begin() + 3, temp.begin() + 2, temp.begin() + 5); // Printing the modified vector cout << "Vector after Inserting the portion of temp " "vector in original vector :\n" ; for ( auto x : original) cout << x << " " ; return 0; } // This code contributed by Harsh Singh (hsnooob) |
Output
Original vector : 1 2 3 4 5 Vector after Inserting the portion of temp vector in original vector : 1 2 3 9 0 3 4 5
Contact Us