对集合的基本操作
***集合a ***
集合求和函数 accumulate (a.begin() , a.end() , 0)
计算集合元素个数函数 a.size()
集合交集函数set_intersection
集合并集函数set_union
#include <bits/stdc++.h> //万能头文件,包含了c++所有的头文件,以下头文件均可删除。
#include <iostream>
#include <set>
#include <numeric> //accumulate求集合元素和;
#include <algorithm> // set_intersection集合交集;
#include <iterator> // insert_iterator插入元素的迭代器;
using namespace std;
int main()
{
int n,m,k;
set<int> a,b,jiaoji,bingji;
cout<<"输入集合a,b的大小\n";
cin>>n>>m;
cout<<"对集合a进行赋值\n";
for(int i=0;i<n;i++)
{
cin>>k;
a.insert(k);
}
cout<<"a集合元素和\n"<<accumulate(a.begin(),a.end(),0)<<"\n";//a集合求和。
cout<<"对集合b进行赋值\n";
for(int i=0;i<m;i++)
{
cin>>k;
b.insert(k);
}
cout<<"b集合元素和\n"<<accumulate(b.begin(),b.end(),0)<<"\n";//b集合求和。
set_intersection(a.begin(),a.end(),b.begin(),b.end(),inserter(jiaoji,jiaoji.begin()));//交集函数用法
cout<<"输出集合a,b交集\n";
set<int> ::iterator iter;
for(iter=jiaoji.begin();iter!=jiaoji.end();iter++)
cout<<*iter<<" ";
cout<<"\n交集元素个数\n"<<jiaoji.size();
set_union(a.begin(),a.end(),b.begin(),b.end(),inserter(bingji,bingji.begin()));//并集函数用法。
cout<<"\n输出集合a,b并集\n";
for(iter=bingji.begin();iter!=bingji.end();iter++)
cout<<*iter<<" ";
cout<<"\n并集元素个数\n"<<bingji.size();//计算集合大小。
}