在C++ STL中的unordered_set max_load_factor()

在C++ STL中的unordered_set max_load_factor()

unordered_set::max_load_factor() 是C++ STL中的一个函数,它返回(或设置)unordered set容器的当前最大负载因子。 负载因子是容器中元素数量与桶数(bucket_count)之间的比率。 默认情况下,无序set容器的最大负载因子设置为1.0。

max_load_factor()

语法

unordered_set_name.max_load_factor()

返回值 此方法返回当前的最大负载因子。 下面的程序说明了unordered_set :: max_load_factor()方法:

// C++程序说明
// unordered_set::max_load_factor()函数
 
#include <iostream>
#include <unordered_set>
 
using namespace std;
 
int main()
{
    unordered_set<int> uset = { 1, 5, 4, 7 };
 
    //获取ust中的max_load_factor
    cout << "Maximum load factor of uset: "
        << uset.max_load_factor()
        << endl;
 
    //现在检查当前负载系数
    cout << "Current load factor of uset: "
        << uset.load_factor();
}  

输出:

Maximum load factor of uset: 1
Current load factor of uset: 0.8

max_load_factor(float)

语法

unordered_set_name.max_load_factor(float z)

参数 此方法接受浮点数作为参数,以设置max_load_factor。

返回值: 此方法不返回任何值。下面的程序说明了unordered_set :: max_load_factor(float)方法:

// C++程序说明
// unordered_set :: max_load_factor()函数
 
#include <iostream>
#include <unordered_set>
using namespace std;
 
int main()
{
    unordered_set<int> uset = { 1, 5, 4, 7 };
 
    //现在将max_load_factor设置为0.5
    uset.max_load_factor(0.5);
 
    //现在获取uset的新max_load_factor
    cout << "New Maximum load factor of uset: "
        << uset.max_load_factor()
        << endl;
 
    //检查新的负载系数
    cout << "Current load factor of uset1: "
        << uset.load_factor()
        << endl;
}  

输出:

New Maximum load factor of uset: 0.5
Current load factor of uset1: 0.363636

时间复杂度: O(1)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程