首先,我们假设两个数组分别为arr1
和arr2
,且它们都具有唯一值。
要从一个数组中获取唯一值,可以使用哈希表(在C++中可以使用unordered_set)来存储数组中的元素,然后遍历另一个数组,将每个元素插入到哈希表中,如果该元素已经存在于哈希表中,则不需要再次插入。
具体步骤如下:
unordered_set
,用于存储数组中的元素。arr1
,对于每个元素,检查它是否已经存在于哈希表中。如果不存在,则将该元素插入到哈希表中。arr2
,对于每个元素,检查它是否已经存在于哈希表中。如果不存在,则将该元素插入到哈希表中。在C++中,可以使用STL库中的unordered_set来实现哈希表。以下是一个示例代码:
#include <iostream>
#include <vector>
#include <unordered_set>
using namespace std;
int main() {
vector<int> arr1 = {1, 2, 3, 4, 5};
vector<int> arr2 = {3, 4, 5, 6, 7};
unordered_set<int> unique_values;
// 遍历数组arr1,将每个元素插入到哈希表中
for (int i = 0; i < arr1.size(); i++) {
if (unique_values.find(arr1[i]) == unique_values.end()) {
unique_values.insert(arr1[i]);
}
}
// 遍历数组arr2,将每个元素插入到哈希表中
for (int i = 0; i < arr2.size(); i++) {
if (unique_values.find(arr2[i]) == unique_values.end()) {
unique_values.insert(arr2[i]);
}
}
// 输出哈希表中的所有元素
for (auto it : unique_values) {
cout << it << " ";
}
cout << endl;
return 0;
}
在这个示例代码中,我们首先定义了两个数组arr1和arr2,然后定义了一个unordered_set类型的变量unique_values来存储数组中的唯一值。接下来,我们使用两个for循环遍历数组arr1和arr2,将每个元素插入到哈希表中。最后,我们输出哈希表中的所有元素。
当我们运行这个示例代码时,输出结果为:
1 2 3 4 5 6 7
这是两个数组中的所有唯一值。
领取专属 10元无门槛券
手把手带您无忧上云