C++ 标准库 - <vector>

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>。