C++ STL的unordered_multiset bucket_count()函数
unordered_multiset::bucket_count() 是C++ STL中的一个内置函数,它返回unordered_multiset容器中桶的总数。桶是容器内部哈希表中的槽,元素根据它们的哈希值被分配到这些桶中。
语法:
unordered_multiset_name.bucket_count()
参数: 该函数不接受任何参数。
返回值: 它返回一个无符号整数类型,表示桶的总数。
下面的程序演示了上述函数:
程序1:
//演示unordered_multiset::bucket_count()函数的C++程序
#include
using namespace std;
int main()
{
//声明
unordered_multiset<char> sample;
//插入元素
sample.insert('a');
sample.insert('b');
sample.insert('b');
sample.insert('b');
sample.insert('z');
cout << "桶的总数: " << sample.bucket_count();
//按桶输出所有元素
for (int i = 0; i < sample.bucket_count(); i++) {
cout << "\n桶 " << i << ": ";
//如果桶为空
if (sample.bucket_size(i) == 0)
cout << "空";
for (auto it = sample.cbegin(i); it != sample.cend(i); it++)
cout << *it << " ";
}
return 0;
}
桶的总数: 7
桶 0: b b b
桶 1: 空
桶 2: 空
桶 3: z
桶 4: 空
桶 5: 空
桶 6: a
程序2:
//演示unordered_multiset::bucket_count()函数的C++程序
#include
using namespace std;
int main()
{
//声明
unordered_multiset<char> sample;
//插入元素
sample.insert('a');
sample.insert('b');
sample.insert('b');
sample.insert('b');
sample.insert('z');
cout << "桶的总数: " << sample.bucket_count();
//按桶输出所有元素
for (int i = 0; i < sample.bucket_count(); i++) {
cout << "\n桶 " << i << ": ";
//如果桶为空
if (sample.bucket_size(i) == 0)
cout << "空";
for (auto it = sample.cbegin(i); it != sample.cend(i); it++)
cout << *it << " ";
}
return 0;
}
桶的总数: 7
桶 0: b b b
桶 1: 空
桶 2: 空
桶 3: z
桶 4: 空
桶 5: 空
桶 6: a