C++中vector的insert函数可在指定位置插入元素,支持单个元素、多个相同元素及区间插入,返回指向新元素的迭代器;在中间插入时时间复杂度为O(n),建议频繁插入时使用list或deque,并通过reserve预留空间以提升性能。

C++ 中的 vector 是一种动态数组,能够自动管理内存并支持在运行时插入和删除元素。在实际开发中,我们经常需要在 vector 的指定位置插入新元素,这时就要用到 insert() 函数。本文将详细讲解 vector 的 insert 用法,包括语法、参数、返回值以及常见使用场景。
insert 函数基本语法
vector 提供了多个重载版本的 insert 函数,常用的有以下几种形式:-
iterator insert(iterator pos, const T& value);
在指定位置 pos 前插入一个元素 value,返回指向新插入元素的迭代器。 -
iterator insert(iterator pos, size_t n, const T& value);
在位置 pos 前插入 n 个相同的元素 value,返回第一个插入元素的迭代器。 -
iterator insert(iterator pos, InputIterator first, InputIterator last);
将区间 [first, last) 内的所有元素插入到 pos 之前,返回第一个插入元素的迭代器。
单个元素插入示例
这是最常见的情况:在某个位置插入一个值。例如:
#include <vector>
#include <iostream>
using namespace std;
int main() {
vector<int> vec = {1, 2, 4, 5};
// 在索引为2的位置插入3
vec.insert(vec.begin() + 2, 3);
for (int i : vec) {
cout << i << " ";
}
// 输出: 1 2 3 4 5
}登录后复制
说明:vec.begin() + 2 指向第3个元素(即4),insert 会在它前面插入3。插入多个相同元素
如果你想连续插入多个相同的值,可以使用带数量参数的版本。示例:
立即学习“C++免费学习笔记(深入)”;
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~