1042

// PATn.cpp : 定義控制臺應用程序的入口點。
//

#include "stdafx.h"
#include<iostream>
#include<string>
#include<map>
#include<vector>
#include<utility>
#include<algorithm>         //含有sort方法!
#include<functional>        //含有greater方法!



using namespace std;



int main()
{
    string str;
    getline(cin, str);

    map<char, unsigned> count_char;//map<char,unsigned, greater<char>>map通過設置第是那個屬性,可以控制按鍵值升降排序。默認為less<T>降序!

    for (auto r : str)
    {
        if (isalpha(r))
        {
            r = tolower(r);
            ++count_char[r];
        }
    }

    vector<pair<char, unsigned>>    tmp_count_char(count_char.begin(),count_char.end());//將map轉為vector,再調用sort方法排序!stable_sort,當比較值相等時,保持原序列相對位置!
    stable_sort(tmp_count_char.begin(), tmp_count_char.end(), [&](pair<char, unsigned> i, pair<char, unsigned> j) {return i.second > j.second; });
    //stable_sort(tmp_count_char.begin(), tmp_count_char.end(), [&](pair<char, unsigned> i, pair<char, unsigned> j) {return i.first < j.first; });

    //sort只能應用于線性容器,如vector、list、deque!
    //sort(count_char.begin(), count_char.end(), [&](pair<char, unsigned> i, pair<char, unsigned> j) {return i.second > j.second; });
    //stable_sort(count_char.begin(), count_char.end());

    auto tmp = tmp_count_char.begin();
    cout << tmp->first << " " << tmp->second;


    system("pause");
    return 0;
}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 光·色彩·生命 光 讓色彩有了生命 讓生命有了色彩 于是 生命和色彩 閃爍出光芒
    一了0820閱讀 342評論 4 7
  • 《小王子》是譯本最多的法國文學名著。 這是法國當代一部有名的童話——法國作家圣·埃克蘇佩里“為大人...
    滬上劍客閱讀 1,038評論 0 2
  • 老爹是做什么工作的? 老爹啊,是個地道的農民,一輛牛車,一壺老酒,農活一干就是一天。收成好的時候,老爹...
    唐家七妹閱讀 492評論 0 4
  • 我習慣把事情往壞的方面想,所以很容易不快樂。 面試通過了,旁邊的人都在為我高興,只有我憂心著之后的筆試和未完結的論...
    From旮旯閱讀 187評論 0 0