c++两个数组去重合并
时间: 2024-12-24 12:40:10 浏览: 5
LeetCode刷题题解答案(c++).pdf 彻底搞懂了编程算法题,成功拿到了大厂offer!
在C++中,如果你想从两个数组中去除重复元素并合并它们,可以采用几种方法。这里介绍一种常见的做法,即使用STL容器如`std::set`或`std::unordered_set`来存储数组元素,因为集合会自动处理重复值,并且保持插入顺序相对稳定。
假设我们有两个整数数组arr1和arr2:
```cpp
#include <iostream>
#include <vector>
#include <set>
std::vector<int> mergeAndRemoveDuplicates(std::vector<int>& arr1, std::vector<int>& arr2) {
std::set<int> uniqueElements;
// 将第一个数组添加到集合中
for (int i : arr1) {
uniqueElements.insert(i);
}
// 添加第二个数组,如果元素不在集合中,则添加
for (int j : arr2) {
if (!uniqueElements.count(j)) {
uniqueElements.insert(j);
}
}
// 转换集合回向量,得到去重后的结果
std::vector<int> result(uniqueElements.begin(), uniqueElements.end());
return result;
}
int main() {
std::vector<int> arr1 = {1, 2, 3, 4};
std::vector<int> arr2 = {3, 4, 5, 6};
std::vector<int> merged = mergeAndRemoveDuplicates(arr1, arr2);
for (int value : merged) {
std::cout << value << " ";
}
return 0;
}
```
当你运行这个程序,它会打印出去重后的合并数组:`1 2 3 4 5 6`。
阅读全文