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

更新于:2020年8月13日

2K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告