在地图列表中查找

时间:2015-03-17 22:28:50

标签: c++ hashmap

您好我正在开发一个项目,而且我是C ++的初学者

我有一张地图列表

list<map<int,double>> voisin;

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

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

谢谢

2 个答案:

答案 0 :(得分:0)

查看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 =&gt; 50     c =&gt; 150

答案 1 :(得分:0)

使用std::map::find

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

其中mmap,而e的类型与m中的键的类型相同。

find如果没有找到指定的密钥,则会向map::end返回一个迭代器。

注意 std::list in C++ is not the same as List in C#std::list链接列表。如果您想要一个与C#List等效的容器,请使用std::vector