溫馨提示×

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

c++
小樊
92
2024-07-21 02:16:55
欄目: 編程語言

在C++中,可以使用STL庫中的sort和unique函數(shù)來在排序中去重。首先使用sort函數(shù)對列表進(jìn)行排序,然后再使用unique函數(shù)去除相鄰重復(fù)元素。以下是一個(gè)示例代碼:

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

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

    // 對列表進(jìn)行排序
    std::sort(numbers.begin(), numbers.end());

    // 使用unique函數(shù)去重
    auto last = std::unique(numbers.begin(), numbers.end());
    
    // 刪除重復(fù)元素后的尾部迭代器
    numbers.erase(last, numbers.end());

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

    return 0;
}

在以上代碼中,首先對numbers列表進(jìn)行排序,然后使用unique函數(shù)找到相鄰重復(fù)元素的位置,最后通過erase函數(shù)刪除這些重復(fù)元素,最終實(shí)現(xiàn)了在排序中去重的功能。

0