zoukankan      html  css  js  c++  java
  • stl set求交集 并集 差集

    #include <iostream>
    #include <set>

    using namespace std;

    typedef struct tagStudentInfo
    {
      int nID;
      string strName;
      bool operator <(tagStudentInfo const& _A) const//升序排列

        {
         if(nID<_A.nID)
         return true;
         if(nID == _A.nID)
         return strName.compare(_A.strName) < 0;
            return false;
        }
    }sInfo,*PsInfo;

    int main()
    {
      set<sInfo>setS;
      sInfo stuInfo;

      stuInfo.nID = 10;
      stuInfo.strName = "test1";
      setS.insert(stuInfo);
      
      stuInfo.nID = 20;
      stuInfo.strName = "test2";
      setS.insert(stuInfo);

      set<sInfo>::iterator sIter;
      for(sIter=setS.begin(); sIter!=setS.end(); sIter++)
      {
        cout <<(*sIter).nID <<" "<< (*sIter).strName << endl;
      }

      set<int>a;
      set<int>b;
      set<int>c;
      set<int>d;
      set<int>e;
       
      a.insert(1);
      a.insert(2);
      a.insert(3);
      a.insert(4);
      a.insert(5);

      b.insert(3);
      b.insert(4);
      b.insert(5);
      
      set_union(a.begin(), a.end(), b.begin(), b.end(), inserter(c, c.begin()));
      set<int>::iterator s;
      for(s=c.begin(); s!=c.end(); s++)
      {
        cout <<(*s)<<",";
      }
      cout << endl;
      
      set_intersection(a.begin(), a.end(), b.begin(), b.end(), inserter(d, d.begin()));
      for(s=d.begin(); s!=d.end(); s++)
      {
        cout <<(*s) <<",";
      }
      cout << endl;
      
      set_difference(a.begin(), a.end(), b.begin(), b.end(), inserter(e, e.begin()));
      for(s=e.begin(); s!=e.end(); s++)
      {
        cout <<(*s)<<",";
      }
      cout <<endl;
      
      return 0;
    }    

     10 test1
    20 test2
    1,2,3,4,5,
    3,4,5,
    1,2,

    转自http://blog.chinaunix.net/uid-9950859-id-99130.html

  • 相关阅读:
    Java注解
    java反射简单入门
    java泛型反射
    BeanUtils.populate的作用
    适配器模式
    原型模式
    抽象工厂模式
    工厂方法模式
    建造者模式
    单例模式
  • 原文地址:https://www.cnblogs.com/hailong88/p/3236554.html
Copyright © 2011-2022 走看看