在C++ STL中的unordered_multiset load_factor()函数

在C++ STL中的unordered_multiset load_factor()函数

unordered_multiset :: load_factor() 是C++ STL中的内置函数,它返回unordered_multiset容器中当前负载因子的值。负载因子是容器中元素数量(其大小)和桶数(bucket_count)之间的比率:

负载因子=大小/桶计数

负载因子影响哈希表中碰撞的概率(即,在相同的桶中定位两个元素的概率)。容器通过在需要扩展时导致重新哈希,自动增加桶数以将负载因子保持在特定阈值(其max_load_factor)以下。

语法

unordered_multiset_name.load_factor

参数: 该函数不接受任何参数。

返回值: 该函数返回当前负载因子。它可以是整数或双精度型。

下面的程序说明了unordered_multiset :: load_factor()函数:

程序1:

// C ++程序说明
// unordered_multiset :: load_factor()函数
#include 
使用命名空间std;
   
int main()
{
   
    //声明
    unordered_multiset sample;
   
    //插入元素
    sample.insert('a');
    sample.insert('b');
   
    cout <<“大小为:”<< sample.size();
    cout <<“\ n bucket_count为:”<< sample.bucket_count();
    cout <<“\ n load_factor为:”<< sample.load_factor();
   
    sample.insert('b');
    sample.insert('b');
   
    cout <<“\ n \ n大小为:”<< sample.size();
    cout <<“\ n bucket_count为:”<< sample.bucket_count();
    cout <<“\ n load_factor为:”<< sample.load_factor();
   
    sample.insert('z');
   
    cout <<“\ n \ n大小为:”<< sample.size();
    cout <<“\ n bucket_count为:”<< sample.bucket_count();
    cout <<“\ n load_factor为:”<< sample.load_factor();
   
    返回0;
}
大小为:2
bucket_count为:3
load_factor为:0.666667

大小为:4
bucket_count为:7
load_factor为:0.571429

大小为:5
bucket_count为:7
load_factor为:0.714286

程序2:

// C ++程序说明
// unordered_multiset :: load_factor()函数
#include 
using namespace std;
   
int main()
{
   
    //声明
    unordered_multiset  sample;
   
    //插入元素
    sample.insert(1);
    sample.insert(1);
   
    cout <<“大小为:”<< sample.size();
    cout <<“\ n bucket_count为:”<< sample.bucket_count();
    cout <<“\ n load_factor为:”<< sample.load_factor();
   
    sample.insert(1);
    sample.insert(2);
   
    cout <<“\ n \ n大小为:”<< sample.size();
    cout <<“\ n bucket_count为:”<< sample.bucket_count();
    cout <<“\ n load_factor为:”<< sample.load_factor();
   
    sample.insert(2);
   
    cout <<“\ n \ n大小为:”<< sample.size();
    cout <<“\ n bucket_count为:”<< sample.bucket_count();
cout <<“\ n load_factor为:”<< sample.load_factor();
   
    返回0;
}
大小为:2
bucket_count为:3
load_factor为:0.666667

大小为:4
bucket_count为:7
load_factor为:0.571429

大小为:5
bucket_count为:7
load_factor为:0.714286

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程