- 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, std::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