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;
    }
};
posted @ 2022-03-28 16:02  ren_zhg1992  阅读(760)  评论(0)    收藏  举报