在C++ STL中使用unordered_set hash_function()

在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)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程