C++ map容器 按照value值排序
转载:https://blog.csdn.net/qq_26399665/article/details/52969352
正常的map默认按照key值排序,而map又没有像vector一样的sort()函数,那么如果将map按照value值排序呢?
将map中的key和value分别存放在一个pair类型的vector中,然后利用vector的sort函数排序。

自定义比较函数:
//map的比较函数
struct cmp_key
{
bool operator()(const UrlKey &k1, const UrlKey &k2)const
{
if(k1.dwBussID != k2.dwBussID)
{
return k1.dwBussID < k2.dwBussID;
}
if(k1.dwVersion != k2.dwVersion)
{
return k1.dwVersion < k2.dwVersion;
}
if(k1.dwHashUrl != k2.dwHashUrl)
{
return k1.dwHashUrl < k2.dwHashUrl;
}
return false;
}
};

浙公网安备 33010602011771号