一般而言:
一般map中都会按照key的大小升序排列,那当我们需要按照key的降序输出时应该如何解决?那么本篇来介绍两种可以让map按照key值降序输出的方法。
方法一:
直接改变定义:map<int, double, greater<int>> q; 完成降序排序,即可正常输出获取
方法二:
改变访问方式,从后往前访问。
q.rbegin() 即map最后一个元素(最大key),
q.rend()即map中第一个元素的前一位。
示例:
for (auto it = q.rbegin(); it != q.rend(); it++) {
printf("%d %lf\n", it->first, it->second);
}
注意其中获取的是指针类型,访问其中的数据用“->”。