在 C++ STL 中的 unordered_set bucket_count 函数
unordered_set::bucket_count() 方法是 C++ STL 中的内置函数,它返回 unordered_set 容器中存在的桶(bucket)总数。 桶(bucket) 是 unordered_set 内部哈希表中的一个插槽,其中存储元素。
注意 :unordered_set 中的桶(bucket)从0到n-1编号,其中n是桶(bucket)的总数。
语法 :
unordered_set_name_.bucket_count();
参数: 此函数不接受任何参数。
返回值: 此函数返回 unordered_set 容器中当前桶(bucket)数量。 下面的程序说明 unordered_set::bucket_count 函数:
// CPP program to illustrate the
// unordered_set::bucket_count() function
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
unordered_set<int> sampleSet;
// 插入元素
sampleSet.insert(5);
sampleSet.insert(10);
sampleSet.insert(15);
sampleSet.insert(20);
sampleSet.insert(25);
cout << "sampleSet 容器中有 " << sampleSet.bucket_count()
<< " 个桶(bucket)\n\n";
for (auto itr = sampleSet.begin(); itr != sampleSet.end(); itr++) {
cout << "元素" << (*itr) << "存在于桶(bucket): "
<< sampleSet.bucket(*itr);
cout << endl;
}
return 0;
}
输出:
sampleSet容器中有11个桶(bucket)
元素25存在于桶(bucket): 3
元素5存在于桶(bucket): 5
元素10存在于桶(bucket): 10
元素15存在于桶(bucket): 4
元素20存在于桶(bucket): 9
时间复杂度: O(1)