阅读量:123
在C++中,可以通过排序来实现去重的操作。具体的步骤如下:
- 将待去重的元素存储在一个容器(如vector)中。
- 对容器中的元素进行排序,可以使用STL中的sort函数。
- 使用STL中的unique函数将相邻重复的元素移到容器的末尾,并返回指向去重后的容器的末尾的迭代器。
- 使用容器的erase方法,将重复的元素删除。
以下是一个示例代码:
#include
#include
#include
int main() {
std::vector<int> vec = {2, 1, 4, 2, 5, 4, 3};
// 排序
std::sort(vec.begin(), vec.end());
// 去重
auto it = std::unique(vec.begin(), vec.end());
vec.erase(it, vec.end());
// 输出去重后的结果
for (int num : vec) {
std::cout << num class="hljs-string">" ";
}
std::cout << std class="hljs-keyword">return 0;
}
在上面的示例代码中,首先将待去重的元素存储在vector容器中,然后对容器中的元素进行排序。接着使用unique函数将相邻重复的元素移到容器的末尾,并返回指向去重后的容器的末尾的迭代器。最后使用erase方法将重复的元素删除,输出去重后的结果。