std::
unordered_multiset::bucket_count
公众成员函数 <unordered_set>
size_type bucket_count() const noexcept;
返回存储桶的数量
返回unordered_multiset容器中的桶数。
桶是容器内部哈希表中的一个槽,元素根据其哈希值被分配。
桶的数量直接影响容器哈希表的负载系数 load factor (从而影响碰撞的概率)。容器会自动增加桶的数量,
以保持负载系数低于特定的阈值(它的max_load_factor),每次需要增加桶的数量时都会导致rehash。
☲ 参数
-
none
☉ 返回值
当前桶的数量.
size_type是一种无符号整型。
☣ 示例
// unordered_multiset::bucket_count
#include <iostream>
#include <string>
#include <unordered_set>
int main ()
{
std::unordered_multiset<std::string> myums =
{"Klingon","Vulcan","Klingon","Cardassian","Vulcan","Human"};
unsigned n = myums.bucket_count();
std::cout << "myums has " << n << " buckets.\n";
for (unsigned i=0; i<n; ++i) {
std::cout << "bucket #" << i << " contains:";
for (auto it = myums.begin(i); it!=myums.end(i); ++it)
std::cout << " " << *it;
std::cout << "\n";
}
return 0;
} |
输出:
myums has 7 buckets.
bucket #0 contains: Vulcan Vulcan
bucket #1 contains:
bucket #2 contains:
bucket #3 contains: Cardassian
bucket #4 contains:
bucket #5 contains: Human Klingon Klingon
bucket #6 contains:
✥ 复杂度
常量
☣ 迭代器的有效性
不变
🍄 另请参阅
unordered_multiset::bucket |
定位元素的存储桶(公众成员函数) |
unordered_multiset::bucket_size |
返回存储桶的大小(公众成员函数) |
unordered_multiset::load_factor |
返回存储桶的元素平均数量(负载系数)(公众成员函数) |
unordered_multiset::max_load_factor |
获取或设置存储桶最大的负载系数(公众成员函数) |