list<string> 去重
时间: 2023-07-18 18:33:48 浏览: 109
list的排序和去重
5星 · 资源好评率100%
在 C++ 中,可以使用 set 容器来去除一个 list<string> 中的重复元素。示例代码如下:
```
#include <iostream>
#include <list>
#include <set>
#include <string>
int main() {
std::list<std::string> mylist = {"apple", "orange", "banana", "apple", "grape", "banana"};
std::set<std::string> myset(mylist.begin(), mylist.end());
mylist.assign(myset.begin(), myset.end());
for (const auto& s : mylist) {
std::cout << s << " ";
}
std::cout << std::endl;
return 0;
}
```
这段代码首先定义了一个 list<string>,其中包含了重复的元素。接着,将该 list<string> 中的元素转存到 set<string> 中,set<string> 会自动去重并排序。最后,将去重后的元素转存回原来的 list<string> 中。最终输出的结果是不包含重复元素的 list<string>。
注意,这种方法会改变原来 list<string> 的顺序,因为 set<string> 会自动排序。如果需要保持原来的顺序,可以使用 unordered_set 容器。
阅读全文