vector insert() in C++

std :: vector :: insert()是C ++ STL中的内置函数,该函数在指定位置的元素之前插入新元素,从而通过插入的元素数量有效地增加了容器大小

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.

Example 1:

下面的程序说明了上面提到的功能,其中新元素插入了前面。

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

下面的程序说明了上述功能,其中在特定位置插入了新元素。

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

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

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

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
posted @ 2020-12-22 09:29  XXXSANS  阅读(845)  评论(0编辑  收藏  举报