定义一个类,找出两个数组中相同元素的个数
时间: 2024-05-14 22:13:46 浏览: 104
好的,我可以帮你解决这个问题。以下是一个实现这个功能的 C++ 类的代码:
```cpp
#include <iostream>
#include <unordered_set>
class ArrayComparer
{
public:
int countCommonElements(int arr1[], int size1, int arr2[], int size2)
{
std::unordered_set<int> set1(arr1, arr1 + size1);
int count = 0;
for (int i = 0; i < size2; i++)
{
if (set1.count(arr2[i]))
{
count++;
}
}
return count;
}
};
```
这个类中的 `countCommonElements` 方法接受两个整型数组及其大小作为参数,并返回这两个数组中相同元素的个数。
该方法使用一个 C++ 的 STL 容器 `unordered_set` 来存储第一个数组中的所有元素。接着,它遍历第二个数组,并使用 `unordered_set` 的 `count` 方法来检查第二个数组中的每个元素是否在第一个数组中出现。如果一个元素在第一个数组中出现,那么相同元素计数器就会加一。最后,该方法返回相同元素个数的计数器值。
希望这个代码能对你有帮助。
阅读全文