C++ vector insert() 函数

定义和用法

insert() 函数用于在向量的指定位置插入一个元素或一系列元素。

位置由迭代器指定。有三种方式可以指定要插入的值或值序列:

  • 指定单个元素的值。
  • 指定要插入的元素数量以及用于填充所有这些元素的单个值。
  • 指定从另一个数据结构中复制的元素范围。

实例

例子 1

在向量中插入一个元素:

vector<string> cars = {"Volvo", "BMW", "Ford", "Tesla"};

cars.insert(cars.begin() + 2, "Toyota");

for (string car : cars) {
  cout << car << "\n";
}

亲自试一试

例子 2

多次插入同一个值:

vector<string> cars = {"Volvo", "BMW", "Ford", "Tesla"};

cars.insert(cars.begin() + 2, 3, "Toyota");

for (string car : cars) {
  cout << car << "\n";
}

亲自试一试

例子 3

从另一个向量中插入一系列元素:

vector<string> cars = {"Volvo", "BMW", "Ford", "Tesla"};
vector<string> newcars = {"Toyota", "Mercedes"};

cars.insert(cars.begin() + 2, newcars.begin(), newcars.end());

for (string car : cars) {
  cout << car << "\n";
}

亲自试一试

语法

以下之一:

vector.insert(iterator position, <type> value);
vector.insert(iterator position, size_t amount, <type> value);
vector.insert(iterator position, iterator start, iterator end);

size_t 数据类型为非负整数。<type> 指的是向量所包含数据的类型。

参数

参数 描述
position 必选。指向元素将被插入位置的迭代器。
amount 必选。指定要插入的元素数量的整数。
value 必选。被插入元素将包含的值。
start 必选。指向要复制范围的起始位置的迭代器。
end

必选。指向要复制范围的结束位置的迭代器。

会复制直到此位置的元素,但不会复制此位置的元素。

技术细节

返回: 指向第一个插入元素的迭代器。

相关页面

教程:C++ 向量

教程:C++ 迭代器