|
发表于 2023-10-15 17:31:15
|
显示全部楼层
可以先将两个数组合并成一个数组,然后对这个数组进行去重,最后找出不在第一个数组中的两个数即可。
下面是示例代码:
- #include <iostream>
- #include <algorithm>
- #include <vector>
- using namespace std;
- int main() {
- int arr1[] = {1, 2, 3, 4};
- int arr2[] = {2, 4};
- int len1 = sizeof(arr1) / sizeof(int);
- int len2 = sizeof(arr2) / sizeof(int);
- vector<int> vec(len1 + len2);
- merge(arr1, arr1 + len1, arr2, arr2 + len2, vec.begin());
- sort(vec.begin(), vec.end());
- auto it = unique(vec.begin(), vec.end());
- for (auto i = vec.begin(); i != it; ++i) {
- if (find(arr1, arr1 + len1, *i) == arr1 + len1) {
- cout << *i << " ";
- }
- }
- cout << endl;
- return 0;
- }
复制代码
输出结果为:
这里使用了 merge 函数将两个数组合并成一个有序数组,然后使用 sort 和 unique 函数将数组去重。最后使用 find 函数找出不在第一个数组中的元素。 |
|