C++ Unordered_set Library - bucket_count



Description

It returns the number of buckets in the unordered_set container.

Declaration

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

C++11

size_type bucket_count() const noexcept;

Parameters

none

Return value

It returns the number of buckets in the unordered_set container.

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_count.

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

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

   unsigned n = myset.bucket_count();

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

   for (unsigned i = 0; i < n; ++i) {
      std::cout << "bucket #" << i << " contains:";
      for (auto it = myset.begin(i); it!=myset.end(i); ++it)
      std::cout << " " << *it;
      std::cout << "\n";
   }

   return 0;
}

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

myset has 11 buckets.
bucket #0 contains:
bucket #1 contains:
bucket #2 contains: tutorials sai
bucket #3 contains: krishna ram
bucket #4 contains:
bucket #5 contains:
bucket #6 contains: mammahe prasad
bucket #7 contains:
bucket #8 contains: com
bucket #9 contains: point
bucket #10 contains:
unordered_set.htm
Advertisements