1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| struct CompareBySecond
{
typedef pair<char, int> Elem;
bool operator() (Elem const &e1, Elem const &e2) {return e1.second < e2.second;}
};
int main()
{
map<char, int> distribution
char c;
while (cin >> c)
{
distribution[c] ++;
}
vector<pair<char, int> distribTriee
(distribution.begin(), distribution.end());
sort(distribTriee.begin(), distribTriee.end(), CompareBySecond());
for (int i=0 ; i< distribTriee.size() ; ++i)
{
cout << i->second << " ' " << i->first << "'" << endl;
}
} |