博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
统计输入的单词中有几个长度大于n的,n是自己指定的,用函数对象实现
阅读量:5916 次
发布时间:2019-06-19

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

#ifndef COUNT_WORD_H#define COUNT_WORD_H #include 
#include
#include
#include
#include
class GT_cls{ public: GT_cls(size_t val = 0) :bound_(val){} bool operator()(const std::string &s){ return s.size() >= bound_; } private: std::string::size_type bound_;};class Word_count{ public: Word_count(size_t val) :GT_(val), wc_(0){} void readWord(); void process(); void display(); private: static bool isShorter(const std::string &s1, const std::string &s2); std::vector
words_; GT_cls GT_; size_t wc_;};inline void Word_count::readWord(){ std::istream_iterator
cin_it(std::cin); std::istream_iterator
end_of_stream; while(cin_it != end_of_stream){ words_.push_back(*cin_it++); }}inline void Word_count::process(){ sort(words_.begin(), words_.end()); std::vector
::iterator end_unique = \ unique(words_.begin(), words_.end()); words_.erase(end_unique, words_.end()); stable_sort(words_.begin(), words_.end(), isShorter); wc_ = count_if(words_.begin(), words_.end(), GT_);}inline void Word_count::display(){ std::cout << "There are " << wc_ << " words." << std::endl; for(std::vector
::iterator it = words_.begin(); it != words_.end(); ++it){ std::cout << *it << " "; } std::cout << std::endl;}inline bool Word_count::isShorter(const std::string &s1, const std::string &s2){ return s1.size() < s2.size();}#endif /*COUNT_WORD_H*/

转载地址:http://txgpx.baihongyu.com/

你可能感兴趣的文章
JNI_1
查看>>
着色器编程学习(一)——类波浪+生成法线
查看>>
C#Arcengine通过坐标点生成面(环形)
查看>>
来朗沃后的学习感受
查看>>
Uva 10328 逆向思维
查看>>
(转载)表服务器无法打开与报表服务器数据库的连接。所有请求和处理都要求与数据库建立连接。...
查看>>
团队成员贡献总结
查看>>
MAC下调试JSON接口的工具(HTTP抓包工具)
查看>>
Android设置Gridview中的内容不滚动,然后控件中的内容随便添加的效果。
查看>>
HDU 5974 A Simple Math Problem ——(数论,大连区域赛)
查看>>
数论 --- 费马小定理 + 快速幂 HDU 4704 Sum
查看>>
(实用)Linux下安装JDK和Eclipse
查看>>
16 包
查看>>
《敏捷软件开发读书笔记之三》
查看>>
[转]map hash_map unordered_map 性能测试
查看>>
如果点击项目生成时,报错如:不能编辑或者访问拒绝。
查看>>
Selenium学习(一)---Selenium IDE安装及简单介绍
查看>>
PHP控制反转(IOC)和依赖注入(DI)
查看>>
学习计划
查看>>
获取鼠标和元素的坐标点
查看>>