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

std::

unordered_map::bucket_count

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

返回存储桶的数量

返回unordered_map容器中的桶数。

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

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

☲  参数


none

☉  返回值



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

☣  示例



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

int main ()
{
  std::unordered_map<std::string,std::string> mymap = {
            {"house","maison"},
            {"apple","pomme"},
            {"tree","arbre"},
            {"book","livre"},
            {"door","porte"},
            {"grapefruit","pamplemousse"}
  };

  unsigned n = mymap.bucket_count();

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

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

  return 0;
}

输出:
mymap has 7 buckets.
bucket #0 contains: [book:livre] [house:maison]
bucket #1 contains:
bucket #2 contains:
bucket #3 contains: [grapefruit:pamplemousse] [tree:arbre]
bucket #4 contains:
bucket #5 contains: [apple:pomme]
bucket #6 contains: [door:porte]

✥ 复杂度



常量

☣ 迭代器的有效性



不变

🍄  另请参阅



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

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