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

std::

unordered_map::bucket_size

公众成员函数  <unordered_map>
size_type bucket_size ( size_type n ) const;

返回存储桶的容量

返回存储桶 n中的元素个数。

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

bucket中元素的数量会影响访问bucket中特定元素所需的时间。容器会自动增加桶的数量, 以保持负载系数(即桶的平均大小)低于max_load_factor

☲  参数


n
桶编号.
这个值应该小于bucket_count
size_type是一种无符号整型.

☉  返回值



桶 n中的元素个数.
size_type是一种无符号整型。

☣  示例



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

int main ()
{
  std::unordered_map<std::string,std::string> mymap = {
    {"us","United States"},
    {"uk","United Kingdom"},
    {"fr","France"},
    {"de","Germany"}
  };

  unsigned nbuckets = mymap.bucket_count();

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

  for (unsigned i=0; i<nbuckets; ++i) {
    std::cout << "bucket #" << i << " has " << mymap.bucket_size(i) << " elements.\n";
  }

  return 0;
}

输出:
mymap has 5 buckets:
bucket #0 has 0 elements.
bucket #1 has 1 elements.
bucket #2 has 2 elements.
bucket #3 has 0 elements.
bucket #4 has 1 elements.

✥ 复杂度



桶size线性。

☣ 迭代器的有效性



不变

🍄  另请参阅



unordered_map::bucket_count 返回存储桶的数量(公众成员函数)
unordered_map::bucket 定位元素的存储桶(公众成员函数)
unordered_map::size 返回容量(公众成员函数)

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