📜  使用C++中的std :: map函数在地图中搜索(1)

📅  最后修改于: 2023-12-03 15:22:18.234000             🧑  作者: Mango

在地图中使用std::map函数进行搜索

如果您希望在地图中搜索某些东西,那么使用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++标准库中的一个非常有用的数据结构,适用于关键字和对应值的查找。在搜索地图中的元素时,使用它可以提供高效和方便的解决方案。