嗨我在這段代碼中遇到了一些麻煩。如何計算在C++中重複單詞的次數
-1
A
回答
1
冒泡排序:
vector<string> strings = split(str);
for (int i = 0; i < strings.size(); i++) {
for (int j = 0; j < strings.size() - 1; j++) {
if (strings[j + 1] < strings[j]) {
string tmp = strings[j];
strings[j] = strings[j + 1];
strings[j + 1] = tmp;
}
}
}
訂貨後計數的話:
string prev = strings[0];
int counter = 1;
for (int i = 1; i < strings.size(); i++) {
if (strings[i] == prev) {
counter++;
} else {
cout << prev << ": " << counter << " ";
prev = strings[i];
counter = 1;
}
}
4
最好的方法來計算唯一的話就是用std::unordered_map<std::string, int>
,然後在地圖增量值:wordMap[word]++;
需要注意的是,如果這是這個詞的第一個出現,默認值將被創建並且它是0,這適合任務。
除此之外,當std :: sort對於大多數情況來說相當好的時候實現自我排序並不好。
+0
對不起,我只能使用冒泡排序 – javakook
0
您可以使用std ::從algorithm
發現:
std::find(strings.begin(), strings.end(), the_word_you_looking_for) != strings.end()
這會返回一個布爾(如果存在的話真,否則爲false)。
您還可以設置一個計數器,然後每遇到一個true
就遞增一次。
+0
謝謝,不幸的是我除了冒泡排序之外不能使用任何東西。 – javakook
0
這樣做的一種方法是將所有子字符串保存到向量中,然後在向量上使用std :: count函數並將結果放入一個映射中。這裏是示例代碼
std::string s = "This is very good text and is really good to read";
// Putting all substrings into a vector.. Need code to do that, for simplicity I am showing here manually
vector<string> v1;
v1.push_back("This");
v1.push_back("is");
v1.push_back("very");
v1.push_back("good");
v1.push_back("text");
v1.push_back("and");
v1.push_back("is");
v1.push_back("rally");
v1.push_back("good");
v1.push_back("to");
v1.push_back("read");
// Map to create the result
map<string, int> mp;
for (auto v : v1) {
size_t n = std::count(v1.begin(), v1.end(), v);
mp[v] = n;
}
for (auto mvalue : mp) {
cout << "String = " << mvalue.first.c_str() << " Count Is " << mvalue.second << endl;
}
相關問題
- 1. 如何計算數組列表中單詞的重複次數?
- 2. 計算文件中的重複單詞
- 3. 如何計算單詞在文本中的次數
- 4. 如何計算單詞在一列中出現的次數,python
- 5. 計算每個單詞在一個字符串中重複的次數?
- 6. 如何查找單詞在tweepy流中重複的次數?
- 7. 如何計算在不同文件中重複值的次數?
- 8. Python如何計算每個詞彙單詞在句子中顯示的次數?
- 9. 閱讀一個大文件來計算單詞的數量重複K次
- 10. 用c計算字符串中字符的重複次數
- 11. 你如何計算列表中最大的重複次數?
- 12. 如何計算Ocaml中連續重複的次數
- 13. 計算單詞出現在字符串中的次數?
- 14. 計算單詞在txt文件中出現的次數Java
- 15. 重複多次計算
- 16. 如何計算textarea中的#個單詞
- 17. 如何計算句子中的單詞?
- 18. 如何計算java中的單詞
- 19. 使用映射計算每個單詞在文件中出現的次數。 (C++)
- 20. 計算每個不同單詞出現在其輸入中的次數C++
- 21. 查找和計算重複次數
- 22. 如何計算一個單詞在一個句子中出現的次數? (Python)
- 23. orderedlinkedlist JAVA計算單詞中的.txt文件沒有重複的單詞加計數器>
- 24. 如何計算每年從mysql中的DATE類型重複一次的次數?
- 25. 計算表中字段重複次數超過5次的行
- 26. 如何計算複雜文檔中的單詞(.rtf,.doc,.odt等)?
- 27. 如何計算同時執行的重複次數?
- 28. 計算一個值在哈希中重複的次數
- 29. 計算字符串在文件中重複的次數?
- 30. 如何計算在ApEx 4.2中輸入TextArea的單詞數
爲什麼不簡單地使用'std :: unordered_map'來將單詞映射到它的頻率? –