编写一个函数, - 爱问答

(爱问答)

编写一个函数,

字符串统计
(1)编写一个函数,对一个字符串进行如下统计:统计字符串中各不同字符出现的次数,并按各字符出现的频率按降序排列,若频率相同,则按其在原字符串中出现的顺序排列输出。
例如:"tree" 对应的输出为"etr","abcabdebabde" 对应的输出为"badec"
(2)主函数中输入字符串,通过上述函数的调用,完成字符串统计功能。

你要用什么语言做这个?以下是我用C++写的参考

#include <iostream> #include <vector> #include <algorithm> using namespace std; struct DATA { char c; int count; } ; typedef vector <DATA> V_DATA; class data_finder { public: data_finder(const int val):m_data(val) {} bool operator ()(const V_DATA::value_type &value) { return value.c == m_data; } private: int m_data; }; bool compare(const DATA &a,const DATA &b) { return a.count>b.count; } int tosort(const char *s) { char c; DATA t_d; V_DATA data; V_DATA::iterator it=data.end(); while(c=*s++) { t_d.count=1; t_d.c=c; it=find_if(data.begin(),data.end(),data_finder(c)); if (it == data.end()) data.push_back(t_d); else { it->count++; t_d.count=it->count; } } sort(data.begin(),data.end(),compare); for(it = data.begin(); it !=data.end(); it++ ) cout << it->c  ; } int main() { char s[10001]; cin >> s; tosort(s); return 0; }

测试结果符合你的要求:

编写一个函数,

下一篇:java模拟图书管理系统的功能,创建图书实体类,使用集合作为数据容器。需求:

上一篇:excel把固定数字随机排列

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?