如何从地图末尾开始[关闭]

Posted

技术标签:

【中文标题】如何从地图末尾开始[关闭]【英文标题】:How to start at end of map [closed] 【发布时间】:2013-12-12 17:35:02 【问题描述】:

我希望能够从std::map 的末尾开始,以便首先检查列表末尾的项目,例如...

std::map<int> MapBasicExample;

MapBasicExample.insert(1);
MapBasicExample.insert(2);
MapBasicExample.insert(3);
MapBasicExample.insert(4);
MapBasicExample.insert(5);

当我使用MapBasicExample.begin() 时,首先检查的是值“5”,我想首先在循环中从 1 到 5 而不是像使用 MapBasicExample.begin() 时那样从 5 到 1,怎么能这个可以吗?

【问题讨论】:

std::map::rbegin? 你的例子完全被打破了。地图具有键 值,并且固有地按升序排序。所以你说的没有任何意义。 大概你的意思是set,而不是map;并且该地图应按 1-5 排序。在任何情况下,使用rbeginrend 向后迭代。 @Lightness Races in Orbit,这是为了更好地解释我自己和我想要的东西,而不是像你在示例中清楚地看到的那样呈现任何类型的代码 - 因此是问题所在。我得到了我的答案,所以看来它毕竟是有道理的。 @user2142260 -1 SO 不是让任何人得到他们的答案,而是对社区有用。要使一个问题有用,它必须满足最低标准。你的没有,也应该关闭。 【参考方案1】:

您可以像这样以相反的顺序迭代地图:

for (auto it = MapBasicExample.rbegin(); it != MapBasicExample.rend(); it++) 
    std::cout << it->first << " = " << it->second << std::endl;

记住地图有键和值。你的例子看起来像一个集合。不过,以相反顺序迭代它们的逻辑是相似的。

【讨论】:

以上是关于如何从地图末尾开始[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何从弹出的谷歌地图信息窗口中删除关闭按钮(x)边框?

Microsoft以任何方式从光标到文件末尾选择? [关闭]

如何从谷歌地图中的经纬度获取地址位置。? [关闭]

谷歌地图吃豆人[关闭]

我如何在与关闭终端相同的工作目录中打开终端?

如何呈现包含打开和未关闭标签的组件?反应.js