博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
统计文件中不小于某一长度的单词的个数(泛型算法实现)
阅读量:6422 次
发布时间:2019-06-23

本文共 1076 字,大约阅读时间需要 3 分钟。

hot3.png

#include
#include
#include
#include
#include
#include
using namespace std;ifstream & openFile(ifstream &in,const string &fileName){ in.close(); in.clear(); in.open(fileName.c_str()); return in;}bool isShorter(const string &s1,const string &s2){ //predicate function return s1.size()
=6;}int main(int argc,char *argv[]){ ifstream inFile; if(argc<2 || !openFile(inFile,argv[1])) { cerr<<"No input file!"<
words; string word; while(inFile>>word) words.push_back(word); //去除重复 sort(words.begin(),words.end()); //排序 vector
::iterator endUnique=unique(words.begin(),words.end()); //endUnique指向非重复元素末端的下一位置 words.erase(endUnique,words.end()); //删除重复的元素 stable_sort(words.begin(),words.end(),isShorter); //按单词的长度再一次排序 vector
::size_type wc=count_if(words.begin(),words.end(),GT6); //统计长度不小于6单词的个数 cout<
<<' '<<(wc<2?"word":"words")<<" 6 alphabets or longer:"<
::iterator it=words.begin();it!=words.end();++it) if(GT6(*it)) cout<<*it<

转载于:https://my.oschina.net/ppppower/blog/37161

你可能感兴趣的文章
Redhat 5 中裸设备(raw) 的配置
查看>>
5年运维经验分享:一个小白走向高级运维工程师之路
查看>>
ios网络判断的方式
查看>>
Centreon 的 yum 源
查看>>
Yii2.0 API实例
查看>>
移动社交广告价值显现,腾讯之后,陌陌开始捞金
查看>>
Producer和Consumer
查看>>
MySQL数据库优化法则总结
查看>>
ceph
查看>>
“android 推送”存在的问题
查看>>
设计一个算法,判断玩家是否赢了井字游戏
查看>>
Linux下*.tar.gz文件解压缩命令
查看>>
传统媒体、网络媒体的乐与悲!
查看>>
shell下操作快捷键
查看>>
Android流量统计TrafficStats类的使用(Android2.2后可用)
查看>>
Linux 命令用法
查看>>
我的友情链接
查看>>
Linux运维之linux下构建Cacti网络监控平台-清小小著作
查看>>
nohup命令
查看>>
陈松松:我是如何制定每一天的视频营销计划
查看>>