当前位置: 代码迷 >> 综合 >> unordered_map 与 map的按value排序
  详细解决方案

unordered_map 与 map的按value排序

热度:44   发布时间:2023-12-26 09:47:19.0

一、unordered_map

unordered_map占用内存高,但执行效率快;unordered_map的用法与map相同,如 insert,size,count等操作,并且里面的元素也是以pair类型来存贮的。

更详细戳

二、map的按value排序

1. 构建方法

int cmp(const pair<string,int> &x, const pair<string,int> &y)
{return x.second>y.second;
}

2. 更换容器,用vector

void sortByValue(map<string,int> &t_map,vector<pair<string,int> >&t_vec)
{map<string,int>::iterator it;for(it=t_map.begin();it!=t_map.end();++it)t_vec.push_back(make_pair(it->first,it->second));sort(t_vec.begin(),t_vec.end(,cmp));
}

然后再主函数中调用sortByValue()即可;

三、例题

pat甲级1153