溫馨提示×

C++中如何通過排序進行去重

c++
小樊
115
2024-08-07 16:23:25
欄目: 編程語言

在C++中,可以通過排序來實現(xiàn)去重的操作。具體的步驟如下:

  1. 將待去重的元素存儲在一個容器(如vector)中。
  2. 對容器中的元素進行排序,可以使用STL中的sort函數(shù)。
  3. 使用STL中的unique函數(shù)將相鄰重復的元素移到容器的末尾,并返回指向去重后的容器的末尾的迭代器。
  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函數(shù)將相鄰重復的元素移到容器的末尾,并返回指向去重后的容器的末尾的迭代器。最后使用erase方法將重復的元素刪除,輸出去重后的結果。

0