Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::

unordered_set::bucket_count

公众成员函数  <unordered_set>
size_type bucket_count() const noexcept;

返回存储桶的数量

返回unordered_set容器中的桶数。

桶是容器内部哈希表中的一个槽,元素根据其哈希值被分配。

桶的数量直接影响容器哈希表的负载系数 load factor (从而影响碰撞的概率)。容器会自动增加桶的数量, 以保持负载系数低于特定的阈值(它的max_load_factor),每次需要增加桶的数量时都会导致rehash。

☲  参数


none

☉  返回值



当前桶的数量.
size_type是一种无符号整型。

☣  示例



// unordered_set::bucket_count
#include <iostream>
#include <string>
#include <unordered_set>

int main ()
{
  std::unordered_set<std::string> myset =
  {"Mercury","Venus","Earth","Mars","Jupiter","Saturn","Uranus","Neptune"};

  unsigned n = myset.bucket_count();

  std::cout << "myset has " << n << " buckets.\n";

  for (unsigned i=0; i<n; ++i) {
    std::cout << "bucket #" << i << " contains:";
    for (auto it = myset.begin(i); it!=myset.end(i); ++it)
      std::cout << " " << *it;
    std::cout << "\n";
  }

  return 0;
}

输出:
myset has 11 buckets.
bucket #0 contains:
bucket #1 contains: Venus
bucket #2 contains: Jupiter
bucket #3 contains:
bucket #4 contains: Neptune Mercury
bucket #5 contains:
bucket #6 contains: Earth
bucket #7 contains: Uranus Saturn
bucket #8 contains: Mars
bucket #9 contains:
bucket #10 contains:

✥ 复杂度



常量

☣ 迭代器的有效性



不变

🍄  另请参阅



unordered_set::bucket 定位元素的存储桶(公众成员函数)
unordered_set::bucket_size 返回存储桶的大小(公众成员函数)
unordered_set::load_factor 返回存储桶的元素平均数量(负载系数)(公众成员函数)
unordered_set::max_load_factor 获取或设置存储桶最大的负载系数(公众成员函数)

联系我们 免责声明 关于CandCplus 网站地图