字符统计

Posted wuyi_all_in

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符统计相关的知识,希望对你有一定的参考价值。


字符统计_#include


#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()

string str;
while(cin>>str)

vector<int>count(256,0);
int max=0;
for(int i=0;i<str.size();i++)

count[str[i]]++;
if(count[str[i]]>max)

//遍历完一次之后,max就是当前字符中出现的次数最多的
max=count[str[i]];


while(max)

for(int i=0;i<256;i++)

//从头到尾依次遍历,依次打印出数量为max的字符,解决了数量大小一致按照ASII码从小到大排序输出
if(count[i]==max)

printf("%c",i);


max--;

printf("\\n");

return 0;

 错误代码,有待改善

#include<iostream>
#include<string>
#include<map>
#include<queue>
#include<functional>
using namespace std;
bool mycmp(pair<int,char>a,pair<int,char>b)

if(a.first>b.first)
return false;
else if(a.first==b.first)

if(a.second<b.second)return false;
else return true;

else return true;

int main()

map<char,int>record_1;
string str;
priority_queue<pair<int,char>,vector<pair<int,char>>,function<bool(pair<int,char>,pair<int,char>)>>record_2(mycmp);
//priority_queue<pair<int,char>>record_2;
while(cin>>str)

cout<<str.size();
for(char a:str)
record_1[a]++;
for(auto b:record_1)
record_2.push(b.second,b.first);
pair<int,char>used=0,0;
while(record_2.size()!=0)

auto res=record_2.top();
cout<<res.second;
record_2.pop();

cout<<endl;


 

以上是关于字符统计的主要内容,如果未能解决你的问题,请参考以下文章

C语言中字符统计问题

102字符统计

华为机试 — 字符统计

字符统计

用While统计字符个数问题请教各位。

java怎么统计字符串内的标点符号?