91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C++中repeated元素的處理技巧

c++
小樊
89
2024-09-14 09:42:03
欄目: 編程語言

在C++中,處理重復元素的方法有很多種

  1. 使用集合(set)或無序集合(unordered_set): 集合和無序集合都會自動去除重復元素。你可以將元素插入這些容器中,然后從中讀取不重復的元素。
#include<iostream>
#include <set>
#include<vector>

int main() {
    std::vector<int> numbers = {1, 2, 3, 4, 4, 5, 6, 6, 7};
    std::set<int> unique_numbers(numbers.begin(), numbers.end());

    for (int num : unique_numbers) {
        std::cout<< num << " ";
    }
    return 0;
}
  1. 使用算法(unique): C++標準庫提供了一個名為unique的算法,它可以移除連續的重復元素。注意,這個算法只能用于已排序的序列。
#include<iostream>
#include<vector>
#include<algorithm>

int main() {
    std::vector<int> numbers = {1, 2, 2, 3, 4, 4, 5, 6, 6, 7};
    std::sort(numbers.begin(), numbers.end()); // 先對數組進行排序
    auto last = std::unique(numbers.begin(), numbers.end()); // 移除連續重復元素
    numbers.erase(last, numbers.end()); // 刪除多余的元素

    for (int num : numbers) {
        std::cout<< num << " ";
    }
    return 0;
}
  1. 使用雙重循環: 如果你不想使用額外的數據結構或算法,可以使用雙重循環來檢查并刪除重復元素。
#include<iostream>
#include<vector>

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

    for (size_t i = 0; i< numbers.size(); ++i) {
        for (size_t j = i + 1; j< numbers.size();) {
            if (numbers[i] == numbers[j]) {
                numbers.erase(numbers.begin() + j);
            } else {
                ++j;
            }
        }
    }

    for (int num : numbers) {
        std::cout<< num << " ";
    }
    return 0;
}

請注意,這些方法在處理大量數據時可能會有性能差異。在實際應用中,你可能需要根據具體情況選擇最合適的方法。

0
弥勒县| 海淀区| 蓬安县| 西盟| 定兴县| 叶城县| 文昌市| 湄潭县| 双辽市| 丰顺县| 唐海县| 博爱县| 武威市| 保定市| 宣汉县| 华阴市| 教育| 西丰县| 长寿区| 蓬溪县| 柯坪县| 福泉市| 安多县| 日土县| 新兴县| 金阳县| 滨海县| 余干县| 焉耆| 磐石市| 承德市| 毕节市| 伊春市| 麟游县| 舞阳县| 饶阳县| 浦县| 化隆| 四川省| 托克逊县| 彭山县|