#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
void printV(vector<int> &vec)
{
for (vector<int>::iterator it = vec.begin();it!=vec.end();it++)
{
cout << *it << " ";
}
cout << endl;
}
void set_union_()
{
vector<int> vec1;
vec1.push_back(1);
vec1.push_back(3);
vec1.push_back(5);
vector<int> vec2;
vec2.push_back(2);
vec2.push_back(4);
vec2.push_back(6);
vector<int> vec3;
vec3.resize(vec1.size() + vec2.size());
//set_union:取并集
set_union(vec1.begin(), vec1.end(), vec2.begin(), vec2.end(), vec3.begin());
printV(vec3);
}
void set_intersection_()
{
vector<int> vec1;
vec1.push_back(1);
vec1.push_back(3);
vec1.push_back(5);
vector<int> vec2;
vec2.push_back(1);
vec2.push_back(4);
vec2.push_back(6);
vector<int> vec3;
vec3.resize(vec1.size() + vec2.size());
//set_intersection:取交集
set_intersection(vec1.begin(), vec1.end(), vec2.begin(), vec2.end(), vec3.begin());
printV(vec3);
}
void set_difference_()
{
vector<int> vec1;
vec1.push_back(1);
vec1.push_back(3);
vec1.push_back(5);
vector<int> vec2;
vec2.push_back(1);
vec2.push_back(4);
vec2.push_back(6);
vector<int> vec3;
vec3.resize(vec1.size() + vec2.size());
//set_intersection:取差集(vec1-vec2)
set_difference(vec1.begin(), vec1.end(), vec2.begin(), vec2.end(), vec3.begin());
printV(vec3);
}
void main()
{
set_union_();
set_intersection_();
set_difference_();
system("pause");
}