C++ STL的unordered_multiset bucket_count()函数

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程