日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

字符串中统计单词个数

發布時間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字符串中统计单词个数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用到的幾個小知識

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

總結

以上是生活随笔為你收集整理的字符串中统计单词个数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。