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

std::

unordered_multimap::equal_range

公众成员函数  <unordered_map>
pair<iterator,iterator>
   equal_range ( const key_type& k );
pair<const_iterator,const_iterator>
   equal_range ( const key_type& k ) const;

获取具有特定键的元素范围

返回一个范围的边界,该范围包括容器中键值为k的所有元素。

如果k不匹配容器中的任何键,则返回一个空范围(即,其成员firstsecond比较值相等的pair)。

☲  参数


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

☉  返回值



该函数返回一个pair,其成员pair::first是范围的下界,pair::second是范围的上界。 范围内的元素是位于这两个迭代器之间的元素,包括pair::first,不包括pair::second

成员类型iteratorconst_iterator是前向迭代器类型。

☣  示例



// unordered_multimap::equal_range
#include <iostream>
#include <string>
#include <unordered_map>
#include <algorithm>

typedef std::unordered_multimap<std::string,std::string> stringmap;

int main ()
{
  stringmap myumm = {
     {"orange","FL"},
     {"strawberry","LA"},
     {"strawberry","OK"},
     {"pumpkin","NH"}
  };

  std::cout << "Entries with strawberry:";
  auto range = myumm.equal_range("strawberry");
  for_each (
    range.first,
    range.second,
    [](stringmap::value_type& x){std::cout << " " << x.second;}
  );

  return 0;
}

输出:
Entries with strawberry: LA OK

✥ 复杂度



平均情况下:常数。
最坏情况:容器大小呈线性。

☣ 迭代器的有效性



不变.

🍄  另请参阅



unordered_multimap::find 获取元素迭代器(公众成员函数)
unordered_multimap::count 具有特定值的元素数量(公众成员函数)

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