最推荐使用insert()函数合并vector,可直接将一个vector的元素插入另一个末尾,示例:vec1.insert(vec1.end(), vec2.begin(), vec2.end());若不修改原容器,可创建新vector并分别插入两者内容;也可用std::copy配合back_inserter实现,频繁操作时建议先reserve预分配空间以提升性能。

在C++中,合并两个vector有多种方法,最常见的是使用insert()函数。这种方法简单高效,适用于大多数场景。
你可以调用一个 vector 的 insert() 方法,把另一个 vector 的所有元素插入到末尾。
示例代码:
#include <vector>
#include <iostream>
int main() {
std::vector<int> vec1 = {1, 2, 3};
std::vector<int> vec2 = {4, 5, 6};
// 将 vec2 的所有元素插入到 vec1 末尾
vec1.insert(vec1.end(), vec2.begin(), vec2.end());
// 输出结果
for (int val : vec1) {
std::cout << val << " ";
}
return 0;
}输出:1 2 3 4 5 6
立即学习“C++免费学习笔记(深入)”;
如果你不想改变原来的两个 vector,可以创建一个新的 vector,并分别插入两个源容器的内容。
示例:
std::vector<int> vec1 = {1, 2, 3};
std::vector<int> vec2 = {4, 5, 6};
std::vector<int> merged;
merged.insert(merged.end(), vec1.begin(), vec1.end());
merged.insert(merged.end(), vec2.begin(), vec2.end());也可以用 std::copy 配合 back_inserter 实现合并,适合更灵活的场景。
#include <algorithm>
#include <iterator>
std::vector<int> vec1 = {1, 2, 3};
std::vector<int> vec2 = {4, 5, 6};
std::vector<int> result;
std::copy(vec2.begin(), vec2.end(), std::back_inserter(result));
std::copy(vec1.begin(), vec1.end(), std::back_inserter(result));注意顺序:后插入的在后面。
如果合并操作频繁,建议提前用 reserve() 预分配空间,避免多次内存重分配。
vec1.reserve(vec1.size() + vec2.size()); // 合并前预留空间 vec1.insert(vec1.end(), vec2.begin(), vec2.end());
基本上就这些方法。最推荐的是 insert(),简洁直观,效率高。
以上就是c++++怎么连接两个vector_c++合并两个vector容器实现的详细内容,更多请关注php中文网其它相关文章!
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号