public member function
<unordered_set>

std::unordered_set::load_factor

float load_factor() const noexcept;
返回加载因子
返回容器中当前加载因子 unordered_set

加载因子是容器中的元素数量(其 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_set hash table stats
#include <iostream>
#include <unordered_set>

int main ()
{
  std::unordered_set<int> myset;

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

  return 0;
}

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


复杂度

常量。

迭代器有效性

没有变化。

另见