c++中vector的合并
时间: 2025-01-30 10:36:34 浏览: 35
### C++ 中 `vector` 的合并方法
在 C++ 中,可以采用多种方式来实现两个 `vector` 的合并。一种常见且高效的策略是在第一个向量中预留足够的空间以容纳第二个向量中的元素,随后通过迭代器遍历第二个向量并将每个元素追加到第一个向量之后[^1]。
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec1 = {1, 2, 3};
std::vector<int> vec2 = {4, 5, 6};
// 预留额外的空间给vec1以便更有效地添加新元素
vec1.reserve(vec1.size() + vec2.size());
// 将vec2的所有元素移动至vec1的末尾
for (auto it = vec2.begin(); it != vec2.end(); ++it) {
vec1.emplace_back(*it);
}
// 打印最终的结果
for (const auto& num : vec1) {
std::cout << num << " ";
}
std::cout << std::endl;
}
```
除了上述基于循环的方式外,还可以利用标准模板库(STL)提供的算法函数简化此过程。例如,可以直接调用 `insert()` 方法一次性完成整个 `vector` 的插入操作:
```cpp
// 插入vec2的所有元素到vec1后面
vec1.insert(vec1.end(), vec2.begin(), vec2.end());
```
这种方法不仅简洁明了,而且性能表现良好,在大多数情况下都是推荐的做法。
阅读全文
相关推荐


















