在C++ STL中使用unordered_multiset::hash_function()函数
unordered_multiset::hash_function() 是C++ STL中的内置函数,用于获取哈希函数。这个哈希函数是一个一元函数,只接受一个参数,并基于它返回一个类型为size_t的唯一值。
语法 :
unordered_multiset_name.hash_function()
参数 :此函数不接受任何参数。
返回值 :该函数返回哈希函数。
下面的程序说明了unordered_multiset::hash_function()函数:
程序1 :
// CPP程序,说明了unordered_multiset::hash_function()函数
#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;
int main()
{
unordered_multiset<string> sampleSet = { "geeks1", "geeks1", "for", "geeks2" };
//使用hash_function
unordered_multiset<string>::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 for geeks1 geeks1
程序2 :
// CPP程序,说明了unordered_multiset::hash_function()函数
#include <iostream>
#include <string>
#include <unordered_set>
using namespace std;
int main()
{
unordered_multiset<string> sampleSet;
//使用hash_function
unordered_multiset<string>::hasher fn = sampleSet.hash_function();
cout << fn("geeksforgeeks") << endl;
return 0;
}
5146686323530302118