小编pra*_*aha的帖子

使用sort()对unordered_map进行排序

我试图对unordered_map使用sort()函数进行排序,但我不断收到编译器错误.有人可以帮忙吗?

bool comp(pair<char,int> a, pair<char,int> b) {
    return a.second < b.second;
}

void rearrangeKDist(char str[], int d) {
    int n = strlen(str);
    unordered_map<char, int> table;
    for (int i=0; i<n; i++) {
        unordered_map<char, int>::iterator it = table.find(str[i]);   
        if (it == table.end()) {
            table.insert(make_pair(str[i], 1));
        } else {
            it->second = it->second+1;
        }
    }
    for (unordered_map<char, int>::iterator it=table.begin(); it!=table.end(); it++)
        cout<<it->first<<" "<<it->second<<endl;
    sort(table.begin(), table.end(), comp);
    for (unordered_map<char, int>::iterator it=table.begin(); it!=table.end(); it++)
        cout<<it->first<<" "<<it->second<<endl;

}
Run Code Online (Sandbox Code Playgroud)

c++ unordered-map

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

标签 统计

c++ ×1

unordered-map ×1