对一篇文章计数输出最多的20个(《编程珠玑》)
2014-11-06 19:46
197 查看
忘了这个题目是在《编程珠玑》的哪一章了。输入一篇文章,然后对文章中的所有单词进行计数,最后输出频率最高的N项。这里用了一个map来存储单词及其计数,用multimap来进行排序。其实可以用hash_map来算短时间,但是空间耗费比较大。
#include<iostream> #include<string> #include<map> using namespace std; int main() { freopen("input.txt","r",stdin); map<string,int> mp; string s; while(cin>>s) { mp[s]++; } multimap<int,string> mulmap; for(auto iter=mp.begin();iter!=mp.end();iter++) mulmap.insert(pair<int,string>(iter->second,iter->first)); int k=0; for(auto iter=--mulmap.end();iter!=mulmap.begin();iter--) { cout<<iter->first<<" "<<iter->second<<endl; k++; if(k==20) break; } system("pause"); return 0; }
相关文章推荐
- 一道Java面试题 读取一篇英文文章,输出其中出现单词的次数最多的5个,写java函数
- Java面试题,读取一篇英文文章,输出其中出现单词的次数最多的5个
- 删除一篇文章中出现次数最多的单词
- Java统计一篇文章中出现次数最多的汉字或英文单词 又出现次数的统计
- WordPress输出评论最多的10篇文章
- 织梦正则自定义输出电脑版移动版上一篇下一篇文章
- 集电极开路输出OC门(讲的最明白的一篇文章)
- 对一篇很长的文章做到完美的分页输出
- 读取一篇英文文档,并输出其中出现频率最多的十个单词
- 对一篇很长的文章做到完美的分页输出
- 统计一篇英文文章中出现次数最多的前五个单词
- 用记事本程序创建一篇包含几十个英语单词的小文章,要求从屏幕输出每一个单词。(StreamTokenizer、StreamTokenizer类)
- java实现读取一篇英文文章,统计其中每个单词出现的次数并排序输出
- 续上一篇文章,用栈来实现:按照用户输入的rule,经过并、交、差运算后,输出字符串结果。
- Java interview 统计一篇英文文档的单词数,并输出次数最多的10个
- 有一篇文章,共三行文字,每行有最多80个字符。要求分别统计出其中英文大写字母,小写字母,数字,空格及其他字符
- 统计一篇文章的单词数量,并且输出频率前10单词的数量
- 输出一篇英文文章前十个出现频率最高的单词
- 第十五周项目3(拓展)-读入一篇英语文章,输出每个词的意思
- 签了工作之后才发现,自己太草率了.....我看过的关于职业规划最好最全面的一篇文章