C++ 使用哈希函数 找出相同的数据
时间: 2024-02-10 17:10:35 浏览: 55
好的,以下是使用哈希函数找出相同数据的C++代码示例:
```c++
#include <iostream>
#include <unordered_set>
#include <vector>
using namespace std;
// 哈希函数
int myHash(int num) {
return num % 10; // 将数据映射到0-9的范围内
}
int main() {
vector<int> nums = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97};
unordered_set<int> hashSet; // 哈希表
for (int num : nums) {
int hashValue = myHash(num);
if (hashSet.count(hashValue)) { // 如果哈希表中已经存在相同哈希值的数据,则说明存在相同的数据
cout << "存在相同的数据:" << num << endl;
} else {
hashSet.insert(hashValue);
}
}
return 0;
}
```
这里使用了一个简单的哈希函数,将数据映射到0-9的范围内。然后将数据插入哈希表中,如果哈希表中已经存在相同哈希值的数据,则说明存在相同的数据。在实际应用中,哈希函数的设计需要根据具体的业务需求进行优化,以减少哈希冲突和提高查找效率。
阅读全文