値の数でマルチマップを並べ替えるのを手伝ってください。
例えば、
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));
次の順序で並べ替えた後でなければなりません。
c
b
a
私は次のようなカスタム比較ツールを使用しようとしました:
struct comparer
{
bool operator() (const char& first, const char& second) const
{
return mymultimap.count(first) < mymultimap.count(second);
}
};
しかし、私は定義することはできません
multimap<char, int, comparer> mymultimap;
struct comparer
が定義される前。