Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::

unordered_multimap::bucket

公众成员函数  <unordered_map>
size_type bucket ( const key_type& k ) const;

定位元素的桶

返回键为k的元素所在的桶号。

桶是容器内部哈希表中的一个槽,根据键的哈希值向其分配元素。具有相同键的元素位于相同的bucket中。桶的编号从0(bucket_count-1)

可以通过unordered_multimap::beginunordered_multimap::end返回的范围迭代器访问bucket中的单个元素。

☲  参数


K
要定位的桶的元素的键值.
成员类型key_type是容器中元素的键类型。在unordered_multimap容器中, 定义为类的第一个模板形参(Key)的别名。

☉  返回值



k所在的桶的序号.
size_type是一种无符号整型。

☣  示例



// unordered_multimap::bucket
#include <iostream>
#include <string>
#include <unordered_map>

int main ()
{
  std::unordered_multimap<std::string,std::string> myumm = {
    {"John","Middle East"},
    {"John","Africa"},
    {"Adam","Europe"},
    {"Bill","Norh-America"}
  };

  for (auto& x: myumm) {
    std::cout << "Element [" << x.first << ":" << x.second << "]";
    std::cout << " is in bucket #" << myumm.bucket (x.first) << std::endl;
  }

  return 0;
}

输出:
Element [Adam:Europe] is in bucket #1
Element [John:Middle East] is in bucket #1
Element [John:Africa] is in bucket #1
Element [Bill:North-America] is in bucket #2

✥ 复杂度



常量

☣ 迭代器的有效性



不变

🍄  另请参阅



unordered_multimap::bucket_count 返回存储桶的数量(公众成员函数)
unordered_multimap::bucket_size 返回存储桶的容量(公众成员函数)
unordered_multimap::find 获取元素的迭代器(公众成员函数)

联系我们 免责声明 关于CandCplus 网站地图