C ++ STL中的multimap find()

在本文中,我们将讨论C ++ STL中multimap::find()函数的工作,语法和示例。

什么是C ++ STL中的Multimap?

多图是关联容器,类似于图容器。它还有助于按特定顺序存储由键值和映射值的组合形成的元素。在多图容器中,可以有多个与同一键关联的元素。始终在内部借助关联的键对数据进行排序。

什么是multimap::find()?

multimap::find()是C ++ STL中的内置函数,在<map>头文件中定义。find()在容器中搜索与键K关联的元素。此函数返回指向容器中单个元素的迭代器。如果在容器中找到该元素,则返回迭代器。

语法

iterator multimap_name.find(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

可以遵循的方法

  • 首先,我们初始化映射。

  • 然后我们用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