• C++ 迭代器容器学习


    set的一个用法 。

    difference找差集

    union合并set

    intersection找到交集

    #include<iostream>
    #include<string>
    #include<set>
    #include<algorithm>
    #include<iterator>
    int main() {
        using namespace std;
        const int N = 6;
        string s1[N] = {"buffoon","thinkers","for","heavy","can","for"};
        string s2[N] = {"metal","any","food","elegant","deliver","for"};
        set<string>A(s1,s1 + N);
        set<string>B(s2,s2 + N);
        ostream_iterator<string,char> out(cout," ");
        cout << "get A:" ;
        copy(A.begin(),A.end(),out);
        cout << endl;
        cout << "set B:";
        copy(B.begin(),B.end(),out);
        cout << endl;
        
        cout << "union set a,b " << endl;
        set_union(A.begin(),A.end(),B.begin(),B.end(),out);
        cout << endl;
    
        cout << "inter a and b " << endl;
        set_intersection(A.begin(),A.end(),B.begin(),B.end(),out);
        cout << endl;
    
        cout << "difference of a and b " << endl;
        set_difference(A.begin(),A.end(),B.begin(),B.end(),out);
        cout << endl;
    
        set<string>C;
        cout << "Set C" << endl;
        set_intersection(A.begin(),A.end(),B.begin(),B.end(),insert_iterator<set<string> >(C,C.begin()));
        for (auto x : C) cout << x << " " ; cout << endl;
    
        string s3 = "hungry";
        C.insert(s3);
        cout << "Set C after insertion:
    ";
        copy(C.begin(),C.end(),out);
        cout << endl;
    
        cout << "show a range : 
    ";
        copy(C.lower_bound("ghost"),C.upper_bound("spook"),out);
        cout << endl;
    
        return 0;
    }
  • 相关阅读:
    iOS~runtime理解上篇
    iOS
    iOS-数据库+上传队列+runtime
    python3
    必应壁纸破解下载
    python3-django Mac下安装以及查看路径
    iOS
    iOS
    Tornado异步之-协程与回调
    iOS
  • 原文地址:https://www.cnblogs.com/Commence/p/5679226.html
Copyright © 2020-2023  润新知