C++ STL中的unordered_map max_load_factor

C++ STL中的unordered_map max_load_factor

C++ STL中的unordered_map::max_load_factor是一个内置函数,用于获取和设置unordered_map中的最大负载因子。负载因子是容器中元素数和桶数之间的比率。默认情况下,unordered_map的最大负载因子是1.0。

语法: 有两种类型的max_load_factor函数。

  1. float max_load_factor()
  2. void max_load_factor(float new_size)

返回类型:只有第一种版本返回max_load_factor。

参数:只有第二个版本接受新大小。

注意:

  • 第一种版本返回最大负载因子。
  • 第二种版本设置新负载因子。

示例1

// C++程序演示unordered_map::max_bucket_count函数
 #include <bits/stdc++.h>
 using namespace std;
  
 int main()
 {
   
     //声明unordered_map
     unordered_map<char,int>sample;
   
     //插入元素
     sample.insert({'a',10});
     sample.insert({'b',10});
     sample.insert({'c',10});
     sample.insert({'d',10});
     sample.insert({'e',10});
     sample.insert({'f',10});
   
     cout <<“当前大小为:”<<sample.size()<<endl;
     cout <<“当前负载系数为:”<<sample.load_factor()<<endl;
     cout <<“当前最大负载系数为”<<sample.max_load_factor()<<endl;
   
     //更改最大负载系数
     sample.max_load_factor(5.0/2.0);
     cout <<“当前大小为:”<<sample.size()<<endl;
     cout <<“当前负载系数为:”<<sample.load_factor()<<endl;
     cout <<“当前最大负载系数为”<<sample.max_load_factor()<<endl;
     return 0;
 }
当前大小为:6
当前负载系数为:0.857143
当前最大负载系数为1
当前大小为:6
当前负载系数为:0.857143
当前最大负载系数为2.5

示例2

// C++程序演示unordered_map::max_bucket_count函数
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
  
    //声明unordered_map
    unordered_map<int,int>sample;
  
    //插入元素
    sample.insert({1,10});
    sample.insert({2,10});
    sample.insert({3,10});
    sample.insert({4,10});
  
    cout <<“当前大小为:”<<sample.size()<<endl;
    cout <<“当前负载系数为:”<<sample.load_factor() <<endl;
    cout <<“当前最大负载系数为”<<sample.max_load_factor()<<endl;
  
    //更改最大负载系数
    sample.max_load_factor(5.0/2.0);
    cout <<“当前大小为:”<<sample.size()<<endl;
    cout <<“当前负载系数为:”<<sample.load_factor()<<endl;
    cout <<“当前最大负载系数为”<<sample.max_load_factor()<<endl;
    return 0;
}
当前大小为:4
当前负载系数为:0.571429
当前最大负载系数为1
当前大小为:4
当前负载系数为:0.571429
当前最大负载系数为2.5

复杂度:O(1)。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程