C++ Unordered_set Library - bucket_size



Description

It returns the number of elements in bucket n.

Declaration

Following is the declaration for std::unordered_set::bucket_size.

C++11

size_type bucket_size ( size_type n ) const;

Parameters

n − It contains information about bucket number.

Return value

It returns the number of elements in bucket n.

Exceptions

Exception is thrown if any element comparison object throws exception.

Please note that invalid arguments cause undefined behavior.

Time complexity

constant time.

Example

The following example shows the usage of std::unordered_set::bucket_size.

#include <iostream>
#include <string>
#include <unordered_set>

int main () {
   std::unordered_set<std::string> myset =
      { "sai", "ram", "krishna", "prasad", "tutorials", "point" };

   unsigned nbuckets = myset.bucket_count();

   std::cout << "myset has " << nbuckets << " buckets:\n";

   for (unsigned i = 0; i < nbuckets; ++i) {
      std::cout << "bucket #" << i << " has " << myset.bucket_size(i) << " elements.\n";
   }

   return 0;
}

Let us compile and run the above program, this will produce the following result −

myset has 7 buckets:
bucket #0 has 1 elements.
bucket #1 has 1 elements.
bucket #2 has 0 elements.
bucket #3 has 0 elements.
bucket #4 has 2 elements.
bucket #5 has 1 elements.
bucket #6 has 1 elements.
unordered_set.htm
Advertisements