用typedef定义一个pair的类型,pair里面第一个是char,第二个是字符出现的次数。 然后定义一个vector,类型即为之前定义的pair<char,int>。
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
typedef pair <char,int> x;
bool cmp(x a,x b){
if(a.second!=b.second) return a.second>b.second;
else return a.first<b.first;
}
int CHAR[256];
vector<x>C;
int main(){
string s;
while(getline(cin,s)){
for(int i=0;i<256;i++){
x tmp;
tmp.second=0;
tmp.first=i;
C.push_back(tmp); //初始化vector中的每个量
}
for(int i=0;i<s.size();i++){
C[s[i]].second +=1; //出现一次即进行一次累加操作
}
sort(C.begin(),C.end(),cmp);
for(int i=0;i<(int)C.size();i++) if(C[i].second>0) cout<<C[i].first;
cout<<endl;
C.clear();
}
return 0;
}


京公网安备 11010502036488号