首页 > 后端开发 > C++ > 正文

C++ vector插入元素_C++ insert函数用法详解

冰火之心
发布: 2025-12-16 15:32:04
原创
193人浏览过
C++中vector的insert函数可在指定位置插入元素,支持单个元素、多个相同元素及区间插入,返回指向新元素的迭代器;在中间插入时时间复杂度为O(n),建议频繁插入时使用list或deque,并通过reserve预留空间以提升性能。

c++ vector插入元素_c++ insert函数用法详解

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++免费学习笔记(深入)”;

晓象AI资讯阅读神器
晓象AI资讯阅读神器

晓象-AI时代的资讯阅读神器

晓象AI资讯阅读神器 72
查看详情 晓象AI资讯阅读神器
vector<int> vec = {1, 2};

// 在开头插入3个0
vec.insert(vec.begin(), 3, 0);

// 结果: 0 0 0 1 2
登录后复制
这个方法比循环调用单元素插入更高效,推荐用于批量插入相同值。

插入另一个容器的部分或全部内容

insert 还可以从数组、vector、list 等其他容器中复制一段数据插入进来。

示例:

立即学习C++免费学习笔记(深入)”;

vector<int> vec1 = {1, 2, 6, 7};
vector<int> vec2 = {3, 4, 5};

// 将 vec2 全部插入到 vec1 中 2 和 6 之间
vec1.insert(vec1.begin() + 2, vec2.begin(), vec2.end());

// 结果: 1 2 3 4 5 6 7
登录后复制
也可以插入普通数组的一部分:
int arr[] = {10, 20, 30};
vec.insert(vec.end(), arr, arr + 2); // 插入前两个元素
登录后复制

性能注意事项

虽然 insert 功能强大,但要注意其性能影响:
  • 在 vector 中间插入元素会导致后续所有元素向后移动,时间复杂度为 O(n)。
  • 如果插入后超出容量,还会触发重新分配内存,带来额外开销。
  • 频繁在中间插入时,可考虑使用 list 或 deque。
若需大量插入操作,建议提前使用 reserve() 预留空间以减少内存重分配。 基本上就这些。掌握 insert 的不同用法,能让你更灵活地操作 vector 数据。

以上就是C++ vector插入元素_C++ insert函数用法详解的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号