我是 C++ 新手。我想知道如何在向量中找到重复的字符串并打印出字符串的一个副本。例如,如果我有 <"cat", "dog", "dog", "bird",> 它将打印出 cat, dog, bird。我已经对我的向量进行了排序,并且正在使用相邻查找函数并遍历向量(因为我必须查找是否有任何单词重复)。我的代码检测到重复项,但它只打印出非重复项。我想更改它以打印出所有非重复项以及其中一个重复项,以便打印出向量中的所有字符串。这是我到目前为止的代码:
public: void print(vector<string> in) // print method for printing a vector and it's key
{
sort(in.begin(), in.end()); // sort the vector alphabetically first
vector<string>::iterator it;
for( it = in.begin(); it != in.end(); it++ ) // iterate through it
if(adjacent_find(in.begin(), in.end()) == in.end()) // don't print duplicates
cout << *it<<endl; // and print out each string in the vector
}