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

原文链接: https://www.cnblogs.com/xxxsans/p/14171344.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/206346

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午10:33
下一篇 2023年2月12日 下午10:34

相关推荐