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++ 迭代器