zoukankan      html  css  js  c++  java
  • STL中的set集合容器进行集合运算:并、交、差实例

    集合容器的集合运算:并、交、差:

    #include "stdafx.h"

    #include <iostream>

    #include <set>

    #include <algorithm> //集合运算:并、交、差需要包含该头文件

    using namespace std;

    structltstr

    {

        bool operator()(const char* s1,const char* s2) const

        {

           return strcmp(s1,s2)<0; //由小到大排序

    //return strcmp(s1,s2)<0; //由大到小排序

        }

    };

    int_tmain(int argc, _TCHAR* argv[])

    {

    const int N = 6;

        const char* a[N] = {"isomer","ephemeral","prosaic","nugatory","artichoke","serif"};

        const char* b[N] = {"flat","this","artichoke","frigate","prosaic","isomer"};

        set<const char*,ltstr>A(a,a+N);

        set<const char*,ltstr> B(b,b+N);

        set<const char*,ltstr>C;

        set<const char*,ltstr>D;

        cout<<"Set A:";

        copy(A.begin(),A.end(),ostream_iterator<const char*>(cout," "));

        cout<<endl;

        cout<<"Set B:";

        copy(B.begin(),B.end(),ostream_iterator<const char*>(cout," "));

        cout<<endl;

        cout<<"Union: ";

        //set_union函数需要#include <algorithm>

        set_union(A.begin(),A.end(),B.begin(),B.end(),ostream_iterator<const char*>(cout," "),ltstr());

        cout<<endl;

        cout<<"Intersection: ";

        set_intersection(A.begin(),A.end(),B.begin(),B.end(),ostream_iterator<const char*>(cout," "),ltstr());

        cout<<endl;

        cout<<"Set C (difference of A and B):";

        set_difference(A.begin(),A.end(),B.begin(),B.end(),inserter(C,C.begin()),ltstr());//从A中减去B包含的元素

        copy(C.begin(),C.end(),ostream_iterator<const char*>(cout," "));

        cout<<endl;

        cout<<"Set D (difference of B and A):";

        set_difference(B.begin(),B.end(),A.begin(),A.end(),inserter(D,D.begin()),ltstr());//从B中减去A包含的元素

        copy(D.begin(),D.end(),ostream_iterator<const char*>(cout," "));

        cout<<endl;

        return 0;

    }

    运行结果:

    图片

  • 相关阅读:
    python中有哪些类型的布尔值是False?
    django中间件(获取请求ip)
    用python进行月份加减的函数
    Python取整函数
    Python里面search()和match()的区别
    在追灿公司的学习笔记
    Maven学习笔记
    天梯赛练习 L3-006 迎风一刀斩 (30分) 几何关系
    PAT甲级 1155 Heap Paths (30分) 堆模拟
    天梯赛练习 L3-016 二叉搜索树的结构 (30分)
  • 原文地址:https://www.cnblogs.com/pangblog/p/3331297.html
Copyright © 2011-2022 走看看