c++ 合并两个数组容器
时间: 2023-08-17 20:08:57 浏览: 167
要在C++中合并两个数组容器,可以使用STL库中的`std::merge`函数。下面是一个示例代码:
```cpp
#include <iostream>
#include <algorithm>
#include <vector>
int main() {
std::vector<int> arr1 = {1, 3, 5};
std::vector<int> arr2 = {2, 4, 6};
std::vector<int> merged(arr1.size() + arr2.size());
std::merge(arr1.begin(), arr1.end(), arr2.begin(), arr2.end(), merged.begin());
for (const auto& num : merged) {
std::cout << num << " ";
}
return 0;
}
```
此代码将输出:1 2 3 4 5 6,表示已经成功合并了两个数组容器。
相关问题
c++求两个数组的并集
可以使用 `set` 来求两个数组的并集。`set` 是一个内部自动排序的容器,可以用来存储不重复的元素。
具体做法如下:
1. 将两个数组分别存储到两个 `set` 中。
2. 使用 `set_union` 算法将两个 `set` 合并成一个新的 `set`,并存储到一个新的数组中。
下面是示例代码:
```c++
#include <iostream>
#include <algorithm>
#include <set>
using namespace std;
int main()
{
int arr1[] = {1, 2, 3, 4, 5};
int arr2[] = {3, 4, 5, 6, 7};
set<int> set1(arr1, arr1 + 5);
set<int> set2(arr2, arr2 + 5);
int result[10];
auto it = set_union(set1.begin(), set1.end(), set2.begin(), set2.end(), result);
cout << "The union of two arrays is: ";
for (int* i = result; i != it; ++i) {
cout << *i << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
The union of two arrays is: 1 2 3 4 5 6 7
```
c++1291合并数组
要在C++中合并两个数组,你可以使用标准库中的`std::vector`容器。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> array1 = {1, 2, 3};
std::vector<int> array2 = {4, 5, 6};
// 将array2的元素添加到array1的末尾
array1.insert(array1.end(), array2.begin(), array2.end());
// 输出合并后的数组
for (int i : array1) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
```
这段代码将输出:1 2 3 4 5 6,即将array2的元素合并到array1的末尾。你可以根据自己的需求修改代码,并使用适当的数据类型和算法来实现数组的合并。
阅读全文