c++

C++ List Sort 如何在排序中去重

小樊
92
2024-07-21 02:16:55
栏目: 编程语言

在C++中,可以使用STL库中的sort和unique函数来在排序中去重。首先使用sort函数对列表进行排序,然后再使用unique函数去除相邻重复元素。以下是一个示例代码:

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

int main() {
    std::vector<int> numbers = {4, 2, 1, 3, 2, 1, 4, 3};

    // 对列表进行排序
    std::sort(numbers.begin(), numbers.end());

    // 使用unique函数去重
    auto last = std::unique(numbers.begin(), numbers.end());
    
    // 删除重复元素后的尾部迭代器
    numbers.erase(last, numbers.end());

    // 打印去重后的列表
    for (int num : numbers) {
        std::cout << num << " ";
    }

    return 0;
}

在以上代码中,首先对numbers列表进行排序,然后使用unique函数找到相邻重复元素的位置,最后通过erase函数删除这些重复元素,最终实现了在排序中去重的功能。

0
看了该问题的人还看了