map<char, int> card;
for (int i = 0; i < s.size(); i++)
{
card[s[i]]++;
}
vector<pair<char, int> > vmap;
for (map<char, int>::iterator it = card.begin(); it != card.end(); it++)
{
vmap.push_back(make_pair(it->first, it->second));
}
bool cmp(const pair<char, int>& p1, const pair<char, int>& p2)
{
return p1.second > p2.second; //升序排列,p1的value大于p2,则输出p1在前。
}
map以pair保存,make_pair构建,存入vector,使用sort函数,进行内部的排序。
原文:https://www.cnblogs.com/EvansPudding/p/12632309.html