永发信息网

如何统计一篇文章中不同字出现的次数?

答案:3  悬赏:10  手机版
解决时间 2021-01-26 01:37
我现在想统计一篇文章中不同字出现的次数。之后再以出现次数从多到少的顺序输出。
现在的方法是先用map容器统计,然后再将pair导入到vector当中,再根据size_t中的内容sort排序。
但我觉得这个方法太慢了,请问谁能提出更快的方法!~
最佳答案
用现成的工具Replace Pioneer可以找出所有字并可以按词频排序。

详细步骤:

1. 选择Tools->Pattern Counter菜单
2. 在上面的Source选择 File/http,然后在右边输入(或选择)txt文本的路径。
3. 确定Counter Template选择的是Characters, Words, Lines(默认值)
4. 点中第1行Chars(word)表示非标点字符,然后点击Detail,就可以按照出现次数列出所有字的频率。

不仅如此,你还可以统计任何模式的出现频率。
全部回答
我有个想法: 这里我以ASCII码表中字符为例: 定义一个int array_A[128];char array_B[128]; 并初始化array_A和array_B memset(array_A, 0, sizeof(int)*128); for(int i=0; i<128; i++) array_B[i] = i; 这里有个字符串:char p[]="aaaBBB+!+!+!",统计该字符串的所有种类字符出现个数可以用下面的循环,直接将每个字符对应到数组的第几个元素 for(int i=0; i
  • 2楼网友:轻熟杀无赦
  • 2021-01-25 10:44
推荐用replace pioneer的pattern counter 来统计,然后可以拷贝到剪贴板里。 详细步骤: 首先需要把该文章保存为txt文本文件,然后: 1. 安装并打开replace pioneer, 选择tools->pattern counter菜单 2. 在上面的source选择 file/http,然后在右边输入(或选择)txt文本的路径。 3. 确定counter template选择的是characters, words, lines(默认值) 4. 用鼠标点中chars(word)这一行,然后点击detail,就可以按照出现次数列出所有字的频率,按照频率高低排序。 5. 点击copy即可把结果拷贝到剪贴板里。 不仅如此,你可以统计任何模式的出现频率,比如标点符号,单个字符,双字符组合,等等。 如果你会正则表达式,你甚至可以统计有多少个词是以s结尾的,多少个词是3个字母的,等等任意统计。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯