首页 > 代码库 > 按字符出现频率对字符进行排序

按字符出现频率对字符进行排序

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

void tongji()
{
	string input;
	string output;

	getline(cin,input);//读入带空格的字符串

	int n;
	n=input.size();//求字符串的大小

	int a[255]={0};
	int b[255]={0};
	bool c[255]={false};

	int i=0;

	for(i=0;i<n;i++)
	{
		a[input[i]]++;//统计字符出现的频率
		b[input[i]]++;
	}

	sort(b,b+255);//对字符的出现频率进行排序
	int j;

	for(i=0;i<255;i++)//按频率大小输出字符
	{
		for(j=0;j<255;j++)
		{
			if(b[i]==a[j] && b[i]!=0 && c[j]==false){cout<<char(j);c[j]=true;}
			else continue;
		}
	}


}

int main()
{
	tongji();
	return 0;
}


本文出自 “7883538” 博客,请务必保留此出处http://7893538.blog.51cto.com/7883538/1435313