小编Kos*_*Kos的帖子

按计数对多图表进行排序

请帮我按值计数对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定义之前.

c++ sorting multimap

2
推荐指数
1
解决办法
470
查看次数

标签 统计

c++ ×1

multimap ×1

sorting ×1