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

溫馨提示×

C++ set排序如何結合算法使用

c++
小樊
81
2024-11-30 19:08:56
欄目: 編程語言

在C++中,std::set是一個關聯容器,它會根據元素的大小自動排序。std::set內部使用紅黑樹實現,因此插入和查找操作的時間復雜度都是O(log n)。要將C++ set與算法結合使用,你可以使用以下方法:

  1. 使用std::set_intersection計算兩個集合的交集:
#include <iostream>
#include <algorithm>
#include <set>
#include <vector>

int main() {
    std::set<int> s1 = {1, 2, 3, 4, 5};
    std::set<int> s2 = {4, 5, 6, 7, 8};

    std::vector<int> result;
    std::set_intersection(s1.begin(), s1.end(), s2.begin(), s2.end(), std::back_inserter(result));

    for (int i : result) {
        std::cout<< i << " ";
    }

    return 0;
}
  1. 使用std::set_difference計算兩個集合的差集:
#include <iostream>
#include <algorithm>
#include <set>
#include <vector>

int main() {
    std::set<int> s1 = {1, 2, 3, 4, 5};
    std::set<int> s2 = {4, 5, 6, 7, 8};

    std::vector<int> result;
    std::set_difference(s1.begin(), s1.end(), s2.begin(), s2.end(), std::back_inserter(result));

    for (int i : result) {
        std::cout<< i << " ";
    }

    return 0;
}
  1. 使用std::set_union計算兩個集合的并集:
#include <iostream>
#include <algorithm>
#include <set>
#include <vector>

int main() {
    std::set<int> s1 = {1, 2, 3, 4, 5};
    std::set<int> s2 = {4, 5, 6, 7, 8};

    std::vector<int> result;
    std::set_union(s1.begin(), s1.end(), s2.begin(), s2.end(), std::back_inserter(result));

    for (int i : result) {
        std::cout<< i << " ";
    }

    return 0;
}
  1. 使用std::set_symmetric_difference計算兩個集合的對稱差集:
#include <iostream>
#include <algorithm>
#include <set>
#include <vector>

int main() {
    std::set<int> s1 = {1, 2, 3, 4, 5};
    std::set<int> s2 = {4, 5, 6, 7, 8};

    std::vector<int> result;
    std::set_symmetric_difference(s1.begin(), s1.end(), s2.begin(), s2.end(), std::back_inserter(result));

    for (int i : result) {
        std::cout<< i << " ";
    }

    return 0;
}

這些算法可以與std::set結合使用,以便更方便地操作和處理集合。

0
武川县| 安乡县| 津市市| 黄梅县| 黄石市| 兴山县| 鹤岗市| 兴业县| 吉隆县| 郸城县| 泊头市| 漳浦县| 驻马店市| 资中县| 阿拉善左旗| 肇州县| 德钦县| 大化| 客服| 阿拉善盟| 开鲁县| 敦化市| 霍邱县| 桦南县| 壶关县| 乌恰县| 伊宁县| 大英县| 泗洪县| 彭阳县| 绥阳县| 丰县| 祥云县| 南城县| 哈巴河县| 阿坝县| 乐清市| 青海省| 土默特左旗| 玛曲县| 灵石县|