📅  最后修改于: 2023-12-03 15:22:18.234000             🧑  作者: Mango
如果您希望在地图中搜索某些东西,那么使用C++的标准库中的std::map
函数是一个很好的选择。std::map
是一个关联式容器,其中的元素以键-值对的形式存储,并且可以使用键快速查找对应值。
#include <map>
#include <string>
#include <iostream>
int main()
{
std::map<std::string, int> map = {
{"北京", 100},
{"上海", 90},
{"广州", 80},
{"深圳", 70},
{"杭州", 60},
{"南京", 50},
{"成都", 40},
{"重庆", 30},
{"武汉", 20},
{"西安", 10}
};
std::string city = "上海";
std::map<std::string, int>::iterator it = map.find(city);
if (it != map.end())
{
std::cout << "找到了" << city << ",得分为" << it->second << std::endl;
}
else
{
std::cout << "没有找到" << city << std::endl;
}
return 0;
}
在这个例子中,我们创建了一个std::map
,其中存储了城市名和分数。然后我们搜索目标城市上海
,并且使用find
函数返回一个迭代器,如果找到了对应的键,那么迭代器会指向该键对应的值;如果没有找到,那么迭代器等于map.end()
。最后,我们输出查找结果。
使用std::map
进行搜索是很简单的,但是需要注意一些细节。例如,如果要搜索的键不存在于map中,那么返回的迭代器等于map.end()
,而不是nullptr
,这是由于std::map
的特性决定的。
std::map
是C++标准库中的一个非常有用的数据结构,适用于关键字和对应值的查找。在搜索地图中的元素时,使用它可以提供高效和方便的解决方案。