public member type
<unordered_set>

std::unordered_multiset::bucket_size

size_type bucket_size ( size_type n ) const;
返回桶的大小
返回桶 n 中的元素數量。

一個桶(bucket)是容器內部雜湊表的一個槽,元素根據其雜湊值被分配到其中。

桶中的元素數量會影響訪問桶中特定元素所需的時間。容器會自動增加桶的數量,以保持負載因子(即平均桶大小)低於其最大負載因子

引數

n
桶編號。
這應該小於 bucket_count
成員型別size_type是一種無符號整型型別。

返回值

n 中的元素數量。

成員型別size_type是一種無符號整型型別。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// unordered_multiset::bucket_size
#include <iostream>
#include <string>
#include <unordered_set>

int main ()
{
  std::unordered_multiset<std::string> myums =
  {"human","klingon","klingon","vulcan","romulan","cardassian"};

  unsigned nbuckets = myums.bucket_count();

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

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

  return 0;
}

可能的輸出(實際桶數取決於庫實現)
myset has 7 buckets:
bucket #0 has 0 elements.
bucket #1 has 0 elements.
bucket #2 has 0 elements.
bucket #3 has 2 elements.
bucket #4 has 0 elements.
bucket #5 has 4 elements.
bucket #6 has 0 elements.


複雜度

線性於桶的大小。

迭代器有效性

沒有變化。

另見