泛型算法——容器元素的排序算法(统计长度不小于6的单词个数)sort unique stable_sort count_if
来源:互联网 发布:微盘数据挖掘r语言 编辑:程序博客网 时间:2024/05/19 23:11
#include <iostream>
#include <conio.h>
#include <string>
#include <vector>
#include <list>
#include <algorithm>
#include <numeric>
using namespace std;
// 打印容器内容
void printVec(const vector<string> &vecT)
{
vector<string>::const_iterator vecIt= vecT.begin();
for (; vecIt != vecT.end(); vecIt ++)
{
cout<<*vecIt<<endl;
}
cout<<endl;
}
void iniVec( vector<string> &vecT)
{
vecT.erase(vecT.begin(),vecT.end());
char ch = 'a';
string strT = "";
for (int i=0;i<10;i++)
{
vecT.push_back(strT+ch++);
}
}
void printList(const list<string> &listT)
{
list<string>::const_iterator listIt= listT.begin();
for (; listIt != listT.end(); listIt ++)
{
cout<<*listIt<<endl;
}
cout<<endl;
}
bool isShorter(const string &s1,const string &s2)
{
return s1.size() < s2.size();
}
bool GT6(const string &s)
{
return s.size()>=6;
}
string make_plural(size_t st,const string &s1,const string &s2)
{
return st>1 ? s1+s2 : s1;
}
int main()
{
cout<<"以下是容器元素的排序算法(统计长度不小于6的单词个数)"<<endl;
vector<string> vecTest;
string next_word;
while(cin>>next_word)
{
vecTest.push_back(next_word);
if(vecTest.size()>3 )
break;
}
printVec(vecTest);
sort(vecTest.begin(),vecTest.end());
printVec(vecTest);
vector<string>::iterator end_unique =
unique(vecTest.begin(),vecTest.end());
vecTest.erase(end_unique , vecTest.end());
stable_sort(vecTest.begin(),vecTest.end(),isShorter);
printVec(vecTest);
vector<string>::size_type wc =
count_if(vecTest.begin() , vecTest.end(),GT6);
cout<<wc <<" "<<make_plural(wc,"word","s")
<< " 6 characters or longer"<<endl;
getch();
return 0;
}
输出
以下是容器元素的排序算法(统计长度不小于6的单词个数)
sdfadfdfsa
asdfasdf
asdfasd
as
sdfadfdfsa
asdfasdf
asdfasd
as
as
asdfasd
asdfasdf
sdfadfdfsa
as
asdfasd
asdfasdf
sdfadfdfsa
3 words 6 characters or longer
- 泛型算法——容器元素的排序算法(统计长度不小于6的单词个数)sort unique stable_sort count_if
- C++泛型算法之 sort() stable_sort() unique() count_if()
- C++语法基础--泛型算法(generic algorithm)--对容器排序的算法sort(),stable_sort(),unique()
- 泛型算法之sort,unique,stable_sort
- C++学习笔记26——泛型算法之容器元素排序(sort unique)
- STL 统计vector容器中指定对象元素出现的次数:count()与count_if()算法
- STL_算法_对所有元素排序(sort、stable_sort)
- 泛型算法 —— 独立于容器的算法
- 泛型算法 —— 独立于容器的算法
- 后缀数组(长度不小于k的公共子串的个数)
- 后缀数组(长度不小于k的公共子串的个数)
- nyoj 286 动物统计 【sort排序(统计最多相同单词的个数,不止一个)】
- 算法题32 从随机数数组中选取长度不小于3的最长等差数列
- 统计单词个数,并按个数数量从高到低排序(C++的容器运用)
- STL_算法(27)_对所有元素排序sort(b, e) sort(b, e, p) stable_sort(b, e) stable_sort(b, e, p)
- p122第16题(不小于平均数的元素个数)
- 算法——利用Trie树统计某种前缀的单词的个数
- poj 3415 :长度不小于 k 的公共子串的个数(后缀数组+单调栈)
- Ajax 学习手扎(二)DWR中的util.js
- [转帖] 用J2ME的通用联网框架开发联网的应用程序
- 调用子程序时不能使用括号
- 有关m3u文件2
- XMLHTTP对象封装技术
- 泛型算法——容器元素的排序算法(统计长度不小于6的单词个数)sort unique stable_sort count_if
- 有关m3u文件的定义
- AO中的编辑
- Oracle 开放Toplink全部源码 将对Hibernate产生不小冲击
- linux 神奇的压缩指令与正规表示法
- 对称加密算法
- 写给测试新手
- IReport与JasperReport生成HTML报表的线条图片问题
- 地震局半期实习工作总结