字符串中统计单词个数
用到的几个小知识 :
1.字符串流是以空格作为一个字符串的结束标志,采用stringstream来提取单词。
2.为了消除重复单词,需要先将vector排序,使得重复的单词相邻出现,不先排序无法正确“删除”重复元素
3.使用unique STL算法来重排vector,使得不重复的元素出现在vector的开始部分。
代码如下:
#include "stdafx.h"
#include <string.h>
#include <algorithm>
#include <vector>
#include <deque>
#include <functional>
#include <iostream>
#include <list>
#include <sstream>
#include <iterator>
#include <functional>using namespace std;int _tmain(int argc, _TCHAR* argv[])
{stringstream ss;string str = "the quick red fox jumps over the slow red turtle";string strWord;vector<string> vecWords;ss.clear();ss.str(str);while (ss >> strWord){vecWords.push_back(strWord);strWord.clear();}cout << "sort before:" << endl;copy(vecWords.begin(), vecWords.end(), ostream_iterator<string>(cout, " "));cout << endl;cout << "sort after and unique before:" << endl;//从大到小排序//sort(vecWords.begin(), vecWords.end(),greater<string>());//默认是从小大的字典排序sort(vecWords.begin(), vecWords.end());copy(vecWords.begin(), vecWords.end(), ostream_iterator<string>(cout, " "));cout << endl;vector<string> vecWordsBackup(vecWords);cout << "sort and unique afer:" << endl;unique(vecWords.begin(),vecWords.end());copy(vecWords.begin(), vecWords.end(), ostream_iterator<string>(cout, " "));cout << endl;cout << "sort and unique and erase after:" << endl;vecWordsBackup.erase(unique(vecWordsBackup.begin(),vecWordsBackup.end()), vecWordsBackup.end());copy(vecWordsBackup.begin(), vecWordsBackup.end(), ostream_iterator<string>(cout, " "));cout << endl;cout << "total words:"<<vecWordsBackup.size() <<endl;return 0;
}
运行结果:
转载于:https://www.cnblogs.com/jinxiang1224/p/8468433.html
字符串中统计单词个数相关推荐
- 习题:统计字符串中的单词个数
1 /*统计字符串中的单词个数*/ 2 #include<stdio.h> 3 int main(void) 4 { 5 char a[80]={""},c; 6 in ...
- C语言——从字符串中统计单词的频数
C语言--从字符串中统计单词的频数 #include<stdio.h> #include<string.h> #include<malloc.h>typedef s ...
- 【codevs1040】【01NOIPTG】统计单词个数,字符串的划分DP
1040 统计单词个数 2001年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 给出一个长度不超过200的 ...
- c#统计字符串中数字字符的个数【C#】
c#统计字符串中数字字符的个数 题目描述 假设有一个GetNumber方法(参数为字符串strSource),编写一个静态方法可以用来统计字符串strSource中数字字符的个数. 输入 输入一个字符 ...
- java识别汉字个数_统计字符串中汉字的个数
字符串可以包括数字.字母.汉字或者其他字符.使用Charater类的isDigit()方法可以判断字符串中的某个字符是否为数字, 使用Character类的isLetter()方法可以判断字符串中的某 ...
- 汇编语言统计字符串中字符的个数
因为作业里面有一个题,需要用汇编语言统计字符串中字符的个数,然而老师给的答案居然是错的.为什么呢,因为arm是字对齐的,答案居然每个字只比较一次就过去了,我去,每个字是有四个字节的,这能对吗,所以, ...
- 统计英文句子中的单词个数,并且输出每个单词
package new_test; import java.util.Scanner; import java.util.StringTokenizer; //任务:统计英文句子中的单词个数,并且输出 ...
- 统计字符串中不同字符个数
统计字符串中不同字符个数 如何统计字符串中不同字符个数呢,下面这段代码可以实现这个功能.(如有误,请见谅) #include<stdio.h> int main(void) {int i, ...
- C语言-输入一行英文字符串统计单词个数
C语言-输入一行英文字符串统计单词个数,单词之间以空格隔开 判断是否为单词的依据,通过一个flag标识,flag为0表示字符为空格,接下来出现不是空格,会将flag置为1 只有当flag为1且当前字符 ...
最新文章
- hadoop 爬虫_hadoop学习笔记
- C++内存管理与内存泄漏及其检测
- Windows PE 第十三章 PE补丁技术
- 开源!2019CCF BDCI 乘用车销量预测 冠军方案
- 第六十节,文本元素标签
- CVE-2018-4407 苹果设备远程溢出漏洞
- 向量值函数在计算机工程与应用,拟Newton法在高阶矩阵中的应用-计算机工程与应用.PDF...
- osgi架构与linux_OSGi:进入微服务架构的门户
- text-overflow:ellipsis溢出显示省略号兼容所有浏览器的解决办法
- idea中npm安装总结与node-sass依赖安装等常见问题避坑总结
- 【干货】Python编程惯例
- [转]Fedora Core Linux 9 中安装VMware Tools-6.5.0
- svn linux clean up,SVN清理失败 (svn cleanup) 的解决方法
- Kali Linux中Unable to locate package错误的解决方法2-2
- hive hsq中的group by Distribute by partition by cluster by partitioned by clustered by
- HDOJ HDU 1129 Do the Untwist
- app小程序手机端Python爬虫实战14-mitmproxy抓包软件详解
- 业务指标基础分析(excel)--python实现
- 无线接入控制服务器(ac),无线AP控制器是什么?无线AP与无线AC的区别
- 大蕉毕业三周年了,有话对你说 No.103
热门文章
- Struts2 为什么被淘汰?自己作死!
- 深入Lock锁底层原理实现,手写一个可重入锁
- 史上最易懂的 Kubernetes 儿童插图指南
- 谷歌和 Facebook 是如何给工程师定职级和薪水的?
- 数据库不推荐使用外键的9个理由!
- 双11/618,除了能拉升业绩外,还有什么好处?
- java.nio.Buffer flip()方法
- STL系列:map和unordered_map
- 【Scratch】青少年蓝桥杯_每日一题_4.13_猫捉老鼠
- the serveice mysql_解决重启MySQL数据库The server quit without updating PID file问题