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

std::

unordered_multimap::bucket_count

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

返回存储桶的数量

返回unordered_multimap容器中的桶数。

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

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

☲  参数


none

☉  返回值



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

☣  示例



// unordered_multimap::bucket_count
#include <iostream>
#include <string>
#include <unordered_map>

int main ()
{
  std::unordered_multimap<std::string,std::string> myumm = {
       {"bed","bedroom"},
       {"oven","kitchen"},
       {"towel","bathroom"},
       {"towel","beach"},
       {"plant","garden"}
  };

  unsigned n = myumm.bucket_count();

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

  for (unsigned i=0; i<n; ++i) {
    std::cout << "bucket #" << i << " contains: ";
    for (auto it = myumm.begin(i); it!=myumm.end(i); ++it)
      std::cout << "[" << it->first << ":" << it->second << "] ";
    std::cout << "\n";
  }

  return 0;
}

输出:
myumm has 5 buckets.
bucket #0 contains: [towel:bathroom] [towel:beach]
bucket #1 contains: [plant:garden]
bucket #2 contains:
bucket #3 contains:
bucket #4 contains: [oven:kitchen] [bed:bedroom]

✥ 复杂度



常量

☣ 迭代器的有效性



不变

🍄  另请参阅



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

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