在地图列表中查找

Find on list of map

本文关键字:查找 列表 地图      更新时间:2023-10-16

你好,我正在做一个项目,我是C++的初学者

我有一份地图列表

list<map<int,double>> voisin;

我想知道是否可以检查元素是否存在于我的地图中。这是一个C#代码,你能告诉我如何用C++做吗。

var res = voisin[a].Find(Map<int, double> x)

感谢

看看http://www.cplusplus.com/reference/map/map/find/

这应该会澄清问题。

// map::find
#include <iostream>
#include <map>
int main ()
{
  std::map<char,int> mymap;
  std::map<char,int>::iterator it;
  mymap['a']=50;
  mymap['b']=100;
  mymap['c']=150;
  mymap['d']=200;
  it=mymap.find('b');
  mymap.erase (it);
  mymap.erase (mymap.find('d'));
  // print content:
  std::cout << "elements in mymap:" << 'n';
  std::cout << "a => " << mymap.find('a')->second << 'n';
  std::cout << "c => " << mymap.find('c')->second << 'n';
  return 0;
}

输出:mymap中的元素:a=>50c=>150

使用std::map::find:

std::map<int,double>::iterator it = m.find(e);

其中mmap,而em中的密钥具有相同类型。

如果find找不到指定的键,它将向map::end返回一个迭代器。

注意C++中的std::list与C#中的List不同。std::list链表。如果您想要一个与C#List等效的容器,请使用std::vector