在C++ STL中使用unordered_set hash_function()
unordered_set::hash_function() 是C++ STL中的内置函数,用于获取哈希函数。该哈希函数是一元函数,仅接受一个参数,根据该参数返回一个类型为size_t的唯一值。
语法 :
unordered_set_name_.hash_function()
参数 :该函数不接受任何参数。
返回值 :该函数返回哈希函数。以下程序说明 unordered_set::hash_function()
函数:
程序1:
// CPP program to illustrate the
// unordered_set::hash() function
#include
#include
#include
using namespace std;
int main()
{
unordered_set sampleSet = { "geeks1", "for", "geeks2" };
// use of hash_function
unordered_set::hasher fn = sampleSet.hash_function();
cout << fn("geeks") << endl;
for (auto it = sampleSet.begin(); it != sampleSet.end(); it++) {
cout << *it << " ";
}
cout << endl;
return 0;
}
输出:
15276750567035005396
geeks2 geeks1 for
程序2:
// CPP program to illustrate the
// unordered_set::hash() function
#include
#include
#include
using namespace std;
int main()
{
unordered_set sampleSet;
// use of hash_function
unordered_set::hasher fn = sampleSet.hash_function();
cout << fn("geeksforgeeks") << endl;
return 0;
}
输出:
5146686323530302118
时间复杂度: O(1)