溫馨提示×

如何實(shí)現(xiàn)C++中的高效去重

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

在C++中實(shí)現(xiàn)高效的去重操作通??梢允褂?code>std::set或std::unordered_set來實(shí)現(xiàn)。這兩個(gè)容器都可以確保元素的唯一性,并且在插入和查找元素時(shí)具有較高的效率。

具體實(shí)現(xiàn)步驟如下:

  1. 使用std::setstd::unordered_set容器來存儲去重后的元素集合。

  2. 遍歷原始容器,并將元素逐一插入到std::setstd::unordered_set中。由于這兩個(gè)容器會(huì)自動(dòng)確保元素的唯一性,因此重復(fù)元素會(huì)被自動(dòng)去重。

  3. 遍歷去重后的容器,獲取去重后的元素集合。

以下是一個(gè)使用std::set實(shí)現(xiàn)高效去重的示例代碼:

#include <iostream>
#include <set>
#include <vector>

int main() {
    std::vector<int> vec = {1, 2, 3, 1, 2, 4, 5, 3};
    std::set<int> s;

    for (auto& num : vec) {
        s.insert(num);
    }

    for (auto& num : s) {
        std::cout << num << " ";
    }

    return 0;
}

上述代碼將std::vector中的元素去重后存儲到std::set中,并最終輸出去重后的元素集合。通過使用std::setstd::unordered_set等容器,可以實(shí)現(xiàn)高效的去重操作。

0