如何使用C++的泛型算法
来源:互联网 发布:汉服复原小组淘宝 编辑:程序博客网 时间:2024/05/18 19:18
从键盘上输入一句话或者一段话和一个英文字的长度阀值,输出这段话中有几个字超过这个阀值长度并按长度从小到大输出(当长度相等时按字母序排列)。
#include<iostream>#include<vector>#include<algorithm>using namespace std;//删除重复的单词 vector<string> words;void elimDups(vector<string> &words){sort(words.begin(),words.end());//vector<string>::iterator auto end_unique=unique(words.begin(),words.end());words.erase(end_unique,words.end());}int main(){ int sz; cin>>sz;//输入阀值 string str; while(cin>>str){ //将输入的一段话保存在一个容器中 words.push_back(str); } elimDups(words); stable_sort(words.begin(),words.end(),[](const string &a,const string &b){return a.size()<b.size();}); //按照英文字母排序 auto wc=find_if(words.begin(),words.end(),[sz](const string &a){ return a.size()>=sz;}); //找到第一个超过阀值的字母 auto count=words.end()-wc;//计算字母的个数 cout<<count<<" "<<"word(s) of length"<<sz<<" or longer"<<endl; for_each(wc,words.end(),[](const string &s){cout<<s<<" ";});//一次输出英文单词 }
本题代码参考C++ plus第五版11章泛型算法,编译器使用的是gun C++11
0 0
- 如何使用C++的泛型算法
- C(C语言算法第一篇递归算法的使用)
- 使用C算法封装盒子的尝试
- 《Essential C++》笔记三(1)、使用泛型算法
- 如何减少C盘的使用大小
- 泛型的使用[C#]
- 如何使用ICP算法
- C语言经典算法:如何较快的分解质因数
- DOS下如何使用c/c++的编译器
- C++ 常用泛型算法的使用
- 《C++primer》 泛型算法
- C++:泛型算法基础
- 如何使用Hadoop实现不同复杂度的遥感产品算法
- 如何使用非递归算法实现二叉排序树的建立
- 如何使用Pydev实现简单的决策树算法以及可视化
- 银行家算法的一种实现——使用C语言
- C++,MD5算法的实现类,使用了模板技巧
- C语言经典算法100例-002-数轴的使用
- html浮动窗口_表单及表单控件
- FTP命令详解
- EasyUI常用控件的禁用方法
- MySql性能调优利器之Explain
- 文件上传 借助的是AsyncHttpClient
- 如何使用C++的泛型算法
- (win7 64位系统)VMware Workstation 11安装Mac OS X 10.10虚拟苹果系统
- 详解mysql int类型的长度值问题
- linux中select()函数分析
- 看好你的门-客户端传数据(1)-不安全的隐藏表单字段
- PLSQL查询结果中文乱码
- UVA1428
- TeeChart8.0注册
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(1)