在C++ STL中使用unordered_set bucket_size()

在C++ STL中使用unordered_set bucket_size()

unordered_set ::bucket_size()函数是C++ STL中的内置函数,其返回unordered_set容器中特定bucket中元素的总数。

bucket 是unordered_set内部哈希表中的一个槽,用于存储元素。

注意: unordered_set中的桶从0到n-1进行编号,其中n是桶的总数。

语法

unordered_set_.bucket_size(n);

参数: 此函数接受一个必选参数 n ,此参数表示需要查找其元素总数的bucket号。

返回值: 此函数将返回存储在bucket n 中的元素数。 下面的程序说明了unordered_set::bucket_size()函数:

程序 1:

// CPP程序,说明
// unordered_set::bucket_size()函数
#include <iostream>
#include <unordered_set>
using namespace std;
 
int main()
{
 
    unordered_set<int> sampleSet;
 
    // 存储桶的数量
    int bucketCount;
 
    // 插入元素
    sampleSet.insert(5);
    sampleSet.insert(10);
    sampleSet.insert(15);
    sampleSet.insert(20);
    sampleSet.insert(25);
 
    bucketCount = sampleSet.bucket_count();
    // 显示桶的数量
    cout << "sampleSet有 " << bucketCount << " 个桶\n";
 
    // 显示编号为3的 bucket 中元素的个数
    cout << "bucket编号3包含" << sampleSet.bucket_size(3) << "个元素";
 
    return 0;
}

输出

sampleSet有7个桶
bucket编号3包含1个元素

程序 2:

// CPP程序,说明
// unordered_set::bucket_size()函数
 
#include <iostream>
#include <unordered_set>
 
using namespace std;
 
int main()
{
 
    unordered_set<string> sampleSet;
 
    // 存储桶的数量
    int bucketCount;
 
    // 插入元素
    sampleSet.insert("Welcome");
    sampleSet.insert("To");
    sampleSet.insert("GeeksforGeeks");
    sampleSet.insert("Computer Science Portal");
    sampleSet.insert("For Geeks");
 
    bucketCount = sampleSet.bucket_count();
    // 显示桶的数量
    cout << "sampleSet有 " << bucketCount << " 个桶\n";
 
    // 显示编号为0的 bucket 中元素的个数
    cout << "bucket编号0包含" << sampleSet.bucket_size(0) << "个元素";
 
    return 0;
}

输出

sampleSet有7个桶
bucket编号0包含0个元素

时间复杂度: O(N)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程