unordered_multiset bucket_size() function in C++ STL (original) (raw)

Last Updated : 2 Aug, 2018

The unordered_multiset::bucket_size() is a built-in function in C++ STL which returns the number of elements in the bucket which has the element val. It will always be lower than the bucket_count. The number of elements in a bucket influences the time it takes to access a particular element in the bucketSyntax:

unordered_multiset_name.bucket_size(val)

Parameters: The function accepts a parameter val which specifies the element whose size of the bucket is to be returned. Return Value: It returns an unsigned integral type which denotes the number of elements in the bucket which has the element val. Below programs illustrate the above function: Program 1:

CPP `

// C++ program to illustrate the // unordered_multiset::bucket_size() function #include <bits/stdc++.h> using namespace std;

int main() {

// declaration
unordered_multiset<int> sample;

// inserts element
sample.insert(11);
sample.insert(11);
sample.insert(11);
sample.insert(12);
sample.insert(13);
sample.insert(13);
sample.insert(14);

for (auto it = sample.begin(); it != sample.end(); it++) {
    cout << "The bucket size in which " << *it
         << " is " << sample.bucket_size(*it) << endl;
}
return 0;

}

`

Output:

The bucket size in which 14 is 1 The bucket size in which 11 is 3 The bucket size in which 11 is 3 The bucket size in which 11 is 3 The bucket size in which 12 is 1 The bucket size in which 13 is 2 The bucket size in which 13 is 2

Program 2:

CPP `

// C++ program to illustrate the // unordered_multiset::bucket_size() function #include <bits/stdc++.h> using namespace std;

int main() {

// declaration
unordered_multiset<int> sample;

// inserts element
sample.insert(1);
sample.insert(1);
sample.insert(1);
sample.insert(2);
sample.insert(3);
sample.insert(4);
sample.insert(3);

for (auto it = sample.begin(); it != sample.end(); it++) {
    cout << "The bucket size in which " << *it
         << " is " << sample.bucket_size(*it) << endl;
}
return 0;

}

`

Output:

The bucket size in which 1 is 3 The bucket size in which 1 is 3 The bucket size in which 1 is 3 The bucket size in which 2 is 1 The bucket size in which 3 is 2 The bucket size in which 3 is 2 The bucket size in which 4 is 1