#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

stl set求交集 并集 差集的更多相关文章

  1. SQL求 交集 并集 差集

    故事是这样的….. 故事情节: 表 tb_test 有两列, colA , colB; 求 colA , colB 的并交差集… -- 计算并集 SELECT DISTINCT colB FROM t ...

  2. 如何求ArrayList集合的交集 并集 差集 去重复并集

    需要用到List接口中定义的几个方法: addAll(Collection<? extends E> c) :按指定集合的Iterator返回的顺序将指定集合中的所有元素追加到此列表的末尾 ...

  3. Python 求两个文本文件以行为单位的交集 并集 差集

    Python 求两个文本文件以行为单位的交集 并集 差集,来代码: s1 = set(open('a.txt','r').readlines()) s2 = set(open('b.txt','r') ...

  4. (java/javascript) list 交集 并集 差集 去重复并集

    java list 交集 并集 差集 去重复并集 package com; import java.util.ArrayList; import java.util.Iterator; import ...

  5. spark之交集并集差集拉链

    spark之交集并集差集拉链 def main(args: Array[String]): Unit = { val sparkConf = new SparkConf().setMaster(&qu ...

  6. js求对象数组的交集/并集/差集/去重

    1.求交集 var arr1 = [{name:'name1',id:1},{name:'name2',id:2},{name:'name3',id:3}]; var arr1Id = [1,2,3] ...

  7. Oracle集合运算符 交集 并集 差集

     集合运算符:UNION/UNION ALL 并集,INTERSECT 交集,MINUS 差集  一.union求并集,公共部分只有包含一次 例:求emp表ename中含’A‘或含有‘M’ SQL&g ...

  8. oracle交集,并集,差集

    引自:http://www.2cto.com/database/201308/238777.html [sql] create table test1 ( name ), NN ) ); insert ...

  9. java 两个list 交集 并集 差集 去重复并集

    前提需要明白List是引用类型,引用类型采用引用传递. 我们经常会遇到一些需求求集合的交集.差集.并集.例如下面两个集合: List<String> list1 = new ArrayLi ...

随机推荐

  1. 【Dual Support Vector Machine】林轩田机器学习技法

    这节课内容介绍了SVM的核心. 首先,既然SVM都可以转化为二次规划问题了,为啥还有有Dual啥的呢?原因如下: 如果x进行non-linear transform后,二次规划算法需要面对的是d`+1 ...

  2. 【志银】MySQL命令总结

    ===0-MySQL密码设置===0.1-登入和进入MySQL数据库: 0.1.1-登入MySQL数据库:C:\Users\Administrator>mysql -u用户名 -hMySQL服务 ...

  3. Ipython\Jupyter数据分析工具

    使用Python进行数据分析优点 1 Python大量的库为数据分析和处理提供了完整的工具集 2 比起R和Matlab等其他主要用于数据分析的编程语言,Python更全能 3 Python库一直在增加 ...

  4. UVALive 4764 简单dp水题(也可以暴力求解)

    B - Bing it Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status ...

  5. java.net.SocketException: recvfrom failed: EBADF (Bad file descriptor)

    1. 问题说明: 与服务器之间进行socket通信的时候,客户端关闭socket之后,会抛出一个IOException,异常信息如下: java.net.SocketException: recvfr ...

  6. 获取JNDI数据源

    1 在容器中配置数据源 Tomcat <?xml version="1.0" encoding="UTF-8"?> <Context> ...

  7. BZOJ4825 [Hnoi2017]单旋 【线段树】

    题目链接 BZOJ4825 题解 手模一下操作,会发现一些很优美的性质: 每次旋到根,只有其子树深度不变,剩余点深度\(+1\) 每次旋到根,[最小值为例]右儿子接到其父亲的左儿子,其余点形态不改变, ...

  8. 《c程序设计语言》读书笔记-递归实现快速排序算法

    #include <stdio.h> void swap(int v[],int i,int j) { int temp; temp = v[i]; v[i] = v[j]; v[j] = ...

  9. 转:android service总结

    1.Service的种类   按运行地点分类: 类别 区别  优点 缺点   应用 本地服务(Local) 该服务依附在主进程上,  服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另 ...

  10. 结构型设计模式之装饰模式(Decorator)

    结构 意图 动态地给一个对象添加一些额外的职责.就增加功能来说,D e c o r a t o r 模式相比生成子类更为灵活. 适用性 在不影响其他对象的情况下,以动态.透明的方式给单个对象添加职责. ...