C++集合运算函数总结-merge、set_union、set_difference、set_symmetric_difference、set_intersection
来源:互联网 发布:正归淘宝店加盟 编辑:程序博客网 时间:2024/05/16 04:46
C++集合运算函数总结
集合A,B。(可以使用数组、list、vector)头文件:#include<algorithm>
前提:两个集合已经有序。
merge() //归并两个序列,元素总个数不变,只是将两个有序序列归并为一个有序序列。
set_union() //实现求集合A,B的并。
set_difference()//实现求集合A,B的差(即A—B)
set_symmetric_difference()//实现求集合A,B的对称差(即(A-B)并(B-A))
set_intersection()//实现求集合A,B交集。
//集合运算
//熊八八
//2013-3-15
#include<iostream>
#include<stdio.h>
#include<list>
#include<algorithm> //set_union求并集
using namespace std;
template<class T>
void Print(T List)
{
class T::iterator iter;
for(iter=List.begin(); iter!=List.end(); iter++)
printf("%d ", *iter);
printf("\n");
}
int main()
{
list<int> List_A;
list<int> List_B;
int temp;
printf("Enter 5 integers into List_A:\n");
for(int i=0; i<5; i++)
{
scanf("%d", &temp);
List_A.push_back(temp);
}
//printf("Enter some integers into List_B:\n");
for(int i=0; i<5; i++)
{
scanf("%d", &temp);
List_B.push_back(temp);
}
List_A.sort();
List_B.sort();
list<int> List_C(10);
//不能将操作后的结果重新放入List_A或者List_B.如果非要如此,可以设一中间变量List_C,先将结果存储至List_C,然后List_A = List_C
//merge(List_A.begin(), List_A.end(), List_B.begin(), List_B.end(), List_C.begin()); //合并
//set_union(List_A.begin(), List_A.end(), List_B.begin(), List_B.end(), List_C.begin());//并集
//set_difference(List_A.begin(), List_A.end(), List_B.begin(), List_B.end(), List_C.begin());//差集
//set_symmetric_difference(List_A.begin(), List_A.end(), List_B.begin(), List_B.end(), List_C.begin());//对称差
set_intersection(List_A.begin(), List_A.end(), List_B.begin(), List_B.end(), List_C.begin());//交集
printf("List_A contains:\n");
Print(List_A);
printf("List_B contains:\n");
Print(List_B);
printf("List_C contains:\n");
Print(List_C);
system("pause");
return 0;
}
set容器使用时这样比较常用吧
set_intersection(x.begin(), x.end(), y.begin(), y.end(), inserter(z, z.end()));
....
0 0
- C++集合运算函数总结-merge、set_union、set_difference、set_symmetric_difference、set_intersection
- C++ STL merge,set_union,set_intersection,set_difference,set_symmetric_difference
- set_union,set_intersection,set_difference,set_symmetric_difference
- STL 之includes,set_intersection,set_union,set_difference,set_symmetric_difference
- STL 之includes,set_intersection,set_union,set_difference,set_symmetric_difference
- STL之set_union、set_intersection、set_difference、set_symmetric_difference
- 泛型算法系列35:set_difference()&&set_intersection()&&set_symmetric_difference()&&set_union()
- C++ set_union,set_intersection,set_difference
- STL set_difference set_intersection set_union 操作
- vector set_union() /set_intersection【集合合并/交集】
- set_union set_intersection
- 关于C++里面使用set_union,set_intersection等函数的使用总结
- 关于C++里面使用set_union,set_intersection等函数的使用总结
- 关于C++里面使用set_union,set_intersection等函数的使用总结
- 泛型算法:有序集合set_union和set_intersection
- STL algorithm算法set_symmetric_difference,set_union(54)
- STL algorithm算法set_difference,set_intersection(53)
- set_symmetric_difference
- Android程序的启动页面(闪屏页面)设计
- Android自定view的一些方法的说明
- 向量几何在游戏编程中的使用5
- Python_eve_REST_API一个简单的python web框架
- 在try中存在return情况下,finally的执行情况
- C++集合运算函数总结-merge、set_union、set_difference、set_symmetric_difference、set_intersection
- C++11 std::chrono库详解
- 【数据库】从零开始学MySQL数据库语法
- 向量几何在游戏编程中的使用6
- 企业数据(从天眼)抓取
- EffectiveJava(26)使用泛型类替代普通类
- Leetcode #349 Intersection of Two Arrays
- html里面输出大于号和小于号
- 运动目标检测_帧差法