- map默认是升序 即最小的在前面
- 降序(最大的在前面):
std::map<int, std::string, greater<int>> mapgreater;
- 升序(最小的在前面): std::map<int, std::string, less> mapless; // 升序
#include <iostream>
#include <string>
#include <map>int main()
{std::map<int, std::string, greater<int>> mapgreater; // 降序mapgreater[90] = "LiMin";mapgreater[72] = "ZiLinMi";mapgreater[79] = "BoB";std::map<int, std::string >::iterator iter = mapgreater.begin();for (iter = mapgreater.begin(); iter != mapgreater.end(); iter++){std::cout << iter->first << " " << iter->second << std::endl;}std::cout << "======================" << std::endl;std::map<int, std::string, less<int>> mapless; // 升序mapless[90] = "LiMin";mapless[72] = "ZiLinMi";mapless[79] = "BoB";std::map<int, std::string >::iterator liter = mapless.begin();for (liter = mapless.begin(); liter != mapless.end(); liter++){std::cout << liter->first << " " << liter->second << std::endl;}return 0;
}
打印结果
90 LiMin
79 BoB
72 ZiLinMi
======================
72 ZiLinMi
79 BoB
90 LiMin