传送门 ==>> AutoSAR实战系列300讲「糖果Autosar」总目录
1 multimap::equal_range()介绍
multimap::equal_range()是 C++ STL 中的内置函数,它返回对的迭代器。该对的迭代器是指一个范围的边界,该范围包括容器中具有等效于 k 的键的所有元素。如果没有与键 K 匹配,则返回的范围长度为 0,两个迭代器都指向在 k 之后第一个元素,根据容器的内部比较对象 (key_comp),该元素的键被认为在 k 之后。
句法:
iterator multimap_name.equal_range(key)
参数:此函数接受单个强制参数键,该键指定要返回容器中其范围的元素。
返回值:该函数返回对的迭代器。该对是指一个范围的边界,该范围包括容器中具有
等效于 k 的键的所有元素。如果没有与键 K 匹配,则返回的范围长度为 0,两个
迭代器都指向在 k 之后第一个元素,根据容器的内部比较对象 (key_comp),该元
素的键被认为在 k 之后。
2 multimap::equal_range实例
下面的程序说明了上述方法:
// C++ program to illustrate the
// multimap::equal_range() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
// initialize container
multimap<int, int> mp;
// insert elements in random order
mp.insert({ 2, 30 });
mp.insert({ 1, 40 });
mp.insert({ 3, 60 });
mp.insert({ 1, 20 });
mp.insert({ 5, 50 });
// Stores the range of key 1
auto it = mp.equal_range(1);
cout << "The multimap elements of key 1 is : \n";
cout << "KEY\tELEMENT\n";
// Prints all the elements of key 1
for (auto itr = it.first; itr != it.second; ++itr) {
cout << itr->first
<< '\t' << itr->second << '\n';
}
return 0;
}
The multimap elements of key 1 is :
KEY ELEMENT
1 40
1 20