public member function
<unordered_set>

std::unordered_multiset::load_factor

float load_factor() const noexcept;
返回负载因子
返回 `unordered_multiset` 容器中的当前负载因子。

负载因子是容器中元素数量(其 size)与桶数量(bucket_count)之间的比率。

load_factor = size / bucket_count

负载因子会影响哈希表中冲突的概率(即两个元素位于同一桶的概率)。容器会自动增加桶的数量,以将负载因子保持在其 max_load_factor 指定的阈值以下,每次需要扩展时都会导致 rehash

要检索或更改此阈值,请使用成员函数 max_load_factor

参数



返回值

当前的负载因子。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// unordered_multiset hash table stats
#include <iostream>
#include <unordered_set>

int main ()
{
  std::unordered_multiset<int> myums;

  std::cout << "size = " << myums.size() << std::endl;
  std::cout << "bucket_count = " << myums.bucket_count() << std::endl;
  std::cout << "load_factor = " << myums.load_factor() << std::endl;
  std::cout << "max_load_factor = " << myums.max_load_factor() << std::endl;

  return 0;
}

可能的输出
size = 0
bucket_count = 11
load_factor = 0
max_load_factor = 1


复杂度

常量。

迭代器有效性

没有变化。

另见