gpt4 book ai didi

c++ - 字符串映射,集合。比较值(value)

转载 作者:太空宇宙 更新时间:2023-11-04 11:23:52 25 4
gpt4 key购买 nike

我有一个 map<string, set<string>>我有一个条目,即 flights["Madison"].insert("Boston");

现在我想知道如何检查 map 中是否有条目 "Madison", "Boston" .我想不出一种方法来查找集合中键的值是否存在。

到目前为止,这是我的尝试:我感觉好像离我还有一两行。

   typedef map<string, set<string>> TFlights;
TFlights flights;
TFlights::iterator iter, iter2;
bool found = false;


flights["Madison"].insert("Boston");
flights["Madison"].insert("Miami");

for(iter = flights.begin(); iter != flights.end(); iter++)
{
if(iter->first == "Madison" && //iter->second contains "Boston" )
{
found = true;
}
}

return found;

最佳答案

对 map 使用map::iteratorfind() 函数。在 map 中找到值后,将搜索 set:

bool found = false;
TFlights::iterator it = flights.find("Madison");
if ( it != flights.end())
{
// key exists in map. Now search the set
if (it->second.find("Boston") != it->second.end())
found = true;
}
return found;

关于c++ - 字符串映射,集合。比较值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27352230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com