请帮我按值计数对multimap进行排序.
例如,
multimap<char,int> mymultimap;
mymultimap.insert (pair<char,int>('a',100));
mymultimap.insert (pair<char,int>('a',101));
mymultimap.insert (pair<char,int>('a',111));
mymultimap.insert (pair<char,int>('b',200));
mymultimap.insert (pair<char,int>('b',211));
mymultimap.insert (pair<char,int>('c',300));
Run Code Online (Sandbox Code Playgroud)
应按以下顺序排序后:
c
b
a
Run Code Online (Sandbox Code Playgroud)
我尝试使用这样的自定义比较器:
struct comparer
{
bool operator() (const char& first, const char& second) const
{
return mymultimap.count(first) < mymultimap.count(second);
}
};
Run Code Online (Sandbox Code Playgroud)
但我无法定义
multimap<char, int, comparer> mymultimap;
Run Code Online (Sandbox Code Playgroud)
在struct comparer定义之前.