c++vector去除重复元素
时间: 2023-10-15 15:31:20 浏览: 142
你可以使用`std::vector`的`erase`和`std::unique`函数来去除重复元素。首先,使用`std::sort`函数对向量进行排序,这将使重复的元素相邻。然后,使用`std::unique`函数将重复的元素移到向量的末尾,并返回指向新的尾部的迭代器。最后,使用`erase`函数删除重复元素之后的部分。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
// 创建一个包含重复元素的向量
std::vector<int> vec = {1, 2, 3, 2, 4, 1, 5, 6, 3, 4};
// 对向量进行排序
std::sort(vec.begin(), vec.end());
// 使用 std::unique 函数去除重复元素
auto last = std::unique(vec.begin(), vec.end());
// 使用 erase 函数删除重复元素之后的部分
vec.erase(last, vec.end());
// 输出去除重复元素后的向量
for (const auto& element : vec) {
std::cout << element << " ";
}
std::cout << std::endl;
return 0;
}
```
运行以上代码,输出将为:1 2 3 4 5 6,即去除了重复的元素。