C++ STL 中的 multimap find()
在本文中,我们将讨论 C++ STL 中 multimap::find() 函数的工作原理、语法和示例。
什么是 C++ STL 中的 Multimap?
Multimap 是关联容器,类似于 map 容器。它也方便以特定顺序存储由键值和映射值组合而成的元素。在 multimap 容器中,可以有多个元素与同一个键关联。数据在内部始终借助其关联的键进行排序。
什么是 multimap::find()?
multimap::find() 是 C++ STL 中的内置函数,定义在 <map> 头文件中。find() 搜索容器中与键 K 关联的元素。此函数返回指向容器中单个元素的迭代器。如果在容器中找到元素,则返回一个迭代器。
语法
iterator multimap_name.find(key);
参数
它接受一个参数 key,该参数指定要在容器中搜索的键。
返回值
此函数返回一个迭代器,该迭代器指向容器中键所在的位置。
输入
multimap<char, int > newmap; newmap.insert(make_pair(‘A’, 22)); newmap.insert(make_pair(‘B’, 78)); newmap.insert(make_pair(‘C’, 66)); newmap.insert(make_pair(‘D’, 81)); newmap.insert(make_pair(’E’, 43)); newmap.find(‘D’);
输出
81
输入
multimap<char, int > newmap; newmap.insert(make_pair(1, 15)); newmap.insert(make_pair(2, 18)); newmap.insert(make_pair(3, 45)); newmap.insert(make_pair(4, 66)); newmap.find(4);
输出
66
可以遵循的方法
首先,我们初始化 Map。
然后,我们插入带有 Key 的元素。
然后,我们使用 mapfind 函数 () 查找 Key 的位置。
然后,我们打印所需的键及其元素。
使用上述方法,我们可以找到容器中的任何键,我们也可以找到键在范围内的位置。
示例
#include<iostream.h> #include<map.h> Using namespace std; int main( ){ Multimap<char, int> mp; / / inserting the element mp.insert({‘b’, 23}); mp.insert({‘a’, 46}); mp.insert({‘c’, 78}); mp.insert({‘e’, 11}); mp.insert({‘d’, 34}); cout<< “ The Key value after key c : \n” ; cout<< “ Key\t Element”; for(auto i = mp.find(‘c’); i != mp.end( ); i++) cout<<i-first<< “\t” << i->second << ‘\n’; return 0; }
输出
如果我们运行上面的代码,它将生成以下输出
KEY ELEMENT c 78 d 34 e 11
示例
#include<iostream.h> #include<map.h> Using namespace std; int main( ){ Multimap<char, int> mp; / / inserting the element mp.insert({‘1’, 33}); mp.insert({‘2’, 66}); mp.insert({‘3’, 55}); mp.insert({‘4’, 11}); mp.insert({‘5’, 44}); cout<< “ The Key value after key 4 : \n” ; cout<< “ Key\t Element”; for(auto i = mp.find(‘4’); i != mp.end( ); i++) cout<<i-first<< “\t” << i->second << ‘\n’; return 0; }
输出
如果我们运行上面的代码,它将生成以下输出
KEY ELEMENT 4 11 5 44
广告