c++

C++中如何通过排序进行去重

小樊
126
2024-08-07 16:23:25
栏目: 编程语言
C++开发者专用服务器,限时0元免费领! 查看>>

在C++中,可以通过排序来实现去重的操作。具体的步骤如下:

  1. 将待去重的元素存储在一个容器(如vector)中。
  2. 对容器中的元素进行排序,可以使用STL中的sort函数。
  3. 使用STL中的unique函数将相邻重复的元素移到容器的末尾,并返回指向去重后的容器的末尾的迭代器。
  4. 使用容器的erase方法,将重复的元素删除。

以下是一个示例代码:

#include <iostream>
#include <vector>
#include <algorithm>

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 << " ";
    }
    std::cout << std::endl;

    return 0;
}

在上面的示例代码中,首先将待去重的元素存储在vector容器中,然后对容器中的元素进行排序。接着使用unique函数将相邻重复的元素移到容器的末尾,并返回指向去重后的容器的末尾的迭代器。最后使用erase方法将重复的元素删除,输出去重后的结果。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

相关推荐:如何通过哈希表实现C++中的去重

0
看了该问题的人还看了