vector :: insert()函数,以及C ++ STL中的示例

C ++ vector :: insert()函数

vector :: insert()“ vector”标头的库函数,用于在向量中插入元素,它接受一个元素,具有默认值或其他容器中其他值的元素集,并从指定的迭代器位置。

注意:要使用向量,请包含<vector>标头。

vector :: insert()函数的语法

    //插入元素
    vector::insert(iterator position, value);

    //插入多个元素 
    vector::insert(iterator position, size, default_value);

    //从其他容器插入元素 
    vector::insert(iterator position, iterator start_position, iterator end_position);

参数:

在插入元素的情况下:迭代器位置,值–迭代器位置是使用向量的迭代器的索引,其中要添加元素的值是元素。

在插入多个元素的情况下:迭代器位置,大小,default_value –迭代器位置是使用要添加元素的向量的迭代器的索引,大小是要添加的元素数,并且default_value是要插入的值向量。

对于从其他容器插入元素的情况:迭代器位置,迭代器start_position,迭代器end_position –迭代器位置是使用要添加元素的向量的迭代器的索引,start_position,迭代器end_position是要插入其值的另一个容器的迭代器在当前向量中。

返回值:

在插入一个元素的情况下,它返回一个指向第一个新添加的元素的迭代器,在其他情况下,它返回void。

示例

    Input:
    //向量声明
    vector<int> v1{ 10, 20, 30, 40, 50 };
    //数组
    int x[] = { 1, 2, 3, 4, 5 };
    

    //插入元素
    v1.insert(v1.begin() + 2, 100); //在第二个索引处插入100-
    
    //插入多个元素 with default value
    //从第二个索引插入5个元素(99)
	v1.insert(v1.begin() + 2, 5, 99);     
    //插入数组(其他容器元素)
    
    //从第一个索引插入3个元素(来自数组)
	v1.insert(v1.begin() + 1, x + 0, x + 3); 
    
    Output:
    v1: 10 1 2 3 20 99 99 99 99 99 100 30 40 50

C ++程序演示vector :: insert()函数的示例

//C ++ STL程序演示示例
//vector :: insert()函数

#include <iostream>
#include <vector>
using namespace std;

int main(){
    //向量声明
    vector<int> v1{ 10, 20, 30, 40, 50 };
    //数组
    int x[] = { 1, 2, 3, 4, 5 };

    //打印元素
    cout << "before inserting the elements..." << endl;
    cout << "size of v1: " << v1.size() << endl;
    cout << "v1: ";
    for (int x : v1)
        cout << x << " ";
    cout << endl;

    //插入元素
    v1.insert(v1.begin() + 2, 100); //在第二个索引处插入100-

    //打印元素
    cout << "after inserting an element..." << endl;
    cout << "size of v1: " << v1.size() << endl;
    cout << "v1: ";
    for (int x : v1)
        cout << x << " ";
    cout << endl;

    //插入多个元素 with default value
    //从第二个索引插入5个元素(99)
    v1.insert(v1.begin() + 2, 5, 99);

    //打印元素
    cout << "after inserting multiple elements..." << endl;
    cout << "size of v1: " << v1.size() << endl;
    cout << "v1: ";
    for (int x : v1)
        cout << x << " ";
    cout << endl;

    //插入数组(其他容器元素)
    //从第一个索引插入3个元素(来自数组)
    v1.insert(v1.begin() + 1, x + 0, x + 3);

    //打印元素
    cout << "after inserting multiple elements..." << endl;
    cout << "size of v1: " << v1.size() << endl;
    cout << "v1: ";
    for (int x : v1)
        cout << x << " ";
    cout << endl;

    return 0;
}

输出结果

before inserting the elements... 
size of v1: 5
v1: 10 20 30 40 50 
after inserting an element...
size of v1: 6
v1: 10 20 100 30 40 50 
after inserting multiple elements... 
size of v1: 11 
v1: 10 20 99 99 99 99 99 100 30 40 50
after inserting multiple elements... 
size of v1: 14 
v1: 10 1 2 3 20 99 99 99 99 99 100 30 40 50

参考:C ++ vector :: insert()