c++用map类输出数组中单词的相关的单词
时间: 2024-05-02 17:23:23 浏览: 87
假我们有一个字符串数组 `words`,现在需要输出每个单词相关的单词。我们可以使用 `map` 类来实现这个功能。具体做法如下:
```c++
#include <iostream>
#include <string>
#include <map>
#include <vector>
using namespace std;
int main() {
string words[] = {"hello", "world", "hi", "world", "hi", "there"};
map<string, vector<string>> related_words;
// 遍历单词数组,将每个单词与其后面的单词加入相关单词列表中
for (int i = 0; i < sizeof(words)/sizeof(words[0]); i++) {
for (int j = i + 1; j < sizeof(words)/sizeof(words[0]); j++) {
if (words[i] == words[j]) {
continue;
}
related_words[words[i]].push_back(words[j]);
related_words[words[j]].push_back(words[i]);
}
}
// 输出每个单词及其相关单词
for (auto it : related_words) {
cout << it.first << " related words: ";
for (auto w : it.second) {
cout << w << " ";
}
cout << endl;
}
return 0;
}
```
上述代码中,我们使用 `map` 类将每个单词作为键,相关单词列表作为值。在遍历单词数组时,我们将每个单词与其后面的单词加入相关单词列表中。最后,我们遍历 `map` 类输出每个单词及其相关单词。
阅读全文