C++ std::vector::insert() 在迭代器所指位置之前插入一个或多个元素。插入点之后的元素需后移,复杂度与尾部距离成正比。
原型
iterator insert(const_iterator pos, const T& value);
iterator insert(const_iterator pos, size_t count, const T& value);参数
pos:插入位置,可取begin()到end()。value/count:元素或重复次数。另有初始化列表、区间等重载。
返回值
指向新插入的第一个元素的迭代器。可能重新分配并使既有迭代器失效。
示例
#include <iostream>
#include <vector>
int main() {
std::vector<int> v = {1, 3};
v.insert(v.begin() + 1, 2);
for (int x : v) {
std::cout << x << " ";
}
std::cout << std::endl;
return 0;
}输出:
1 2 3
注意事项
频繁在头部或中部插入时,vector 不是合适结构,可考虑 deque 或 list。删除指定位置用 erase。本批 <vector> 到此结束,可返回函数总览。
下一组头文件见<algorithm>。