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


複雜度

常量。

迭代器有效性

沒有變化。

另見