C++ 如何从地图的末尾开始
我希望能够从C++ 如何从地图的末尾开始,c++,visual-studio-2010,visual-c++,C++,Visual Studio 2010,Visual C++,我希望能够从std::map的末尾开始,以便首先检查列表末尾的项目,例如 std::map<int> MapBasicExample; MapBasicExample.insert(1); MapBasicExample.insert(2); MapBasicExample.insert(3); MapBasicExample.insert(4); MapBasicExample.insert(5); std::MapBasicExample; MapBasicExample.i
std::map
的末尾开始,以便首先检查列表末尾的项目,例如
std::map<int> MapBasicExample;
MapBasicExample.insert(1);
MapBasicExample.insert(2);
MapBasicExample.insert(3);
MapBasicExample.insert(4);
MapBasicExample.insert(5);
std::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开始,这是如何做到的?您可以按如下相反顺序迭代贴图:
for (auto it = MapBasicExample.rbegin(); it != MapBasicExample.rend(); it++) {
std::cout << it->first << " = " << it->second << std::endl;
}
for(auto-it=MapBasicExample.rbegin();it!=MapBasicExample.rend();it++){
std::cout first?你的例子完全不正确。地图有键和值,并且本质上是按升序排序的。因此你所说的没有任何意义。大概你的意思是set
,而不是map
;地图的顺序应该是1-5。在任何情况下,使用rbegin
和rend
向后迭代。@Lightness在轨道上比赛,这是为了更好地解释我自己和我想要的东西,它不是提供任何类型的代码,正如你在示例中可以清楚地看到的那样-因此,这个问题。我得到了我的答案,所以它看起来毕竟是有意义的。@user2142260-1所以不是让任何人得到他们的答案,而是对社区有用。作为一个问题要有用,它必须满足最低标准。你的没有,也应该关闭。