我们如何能迭代Map链接线性结构,即使它们被实现为红黑或AVL树?

我们如何能像迭代线性数据结构一样迭代地图,并告诉我我们如何简单地输入键来获得相关的值?

解决方案:

你应该使用迭代器来迭代。map:

std::map<int, int> myMap;
for (auto iter = myMap.begin(); iter != myMap.end(); ++iter)
  // do something with iter

或者你可以使用循环语法。

for (auto& myMapPair : myMap)
  // do something with the pair

请注意,在第一个版本中,你可以用以下方法访问密钥 iter->first和值与 iter->second作为 iter 是一个对的迭代器。对于第二个版本,你直接有一个对的引用,所以你应该使用 iter.firstiter.second.

至于从键中找值,你应该这样做。

auto iter = myMap.find(50);
if (iter == myMap.end()) // didn't find anything
  // do something
else // you found something
  // do something

给TA打赏
共{{data.count}}人
人已打赏
解决方案

如何在类型验证前访问序列化器的字段数据?

2022-5-13 22:00:37

解决方案

谷歌应用脚本 - 在共享驱动器内对元素进行不可能的操作。

2022-5-14 0:00:10

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索