set容器
来源:互联网 发布:国牌lolita店铺淘宝 编辑:程序博客网 时间:2024/06/05 04:10
问题及代码:
/*copyright(c)2016.烟台大学计算机学院* All rights reserved,* 文件名称:text.Cpp* 作者:李一波* 完成日期:2016年6月16日* 版本号:codeblocks** 问题描述:* 输入描述:* 程序输出:*/#include <algorithm>#include<set>#include<iterator>#include<iostream>using namespace std;int main(){ set<int>eg1;//插入 eg1.insert(1); eg1.insert(100); eg1.insert(5); eg1.insert(1);//元素1因为已经存在所以set中不会再次插入1 eg1.insert(10); eg1.insert(9);//遍历set,可以发现元素是有序的 set<int>::iterator set_iter=eg1.begin(); cout<<"Set named eg1:"<<endl; for(; set_iter!=eg1.end(); set_iter++) cout<<*set_iter<<" "; cout<<endl;//使用size()函数可以获得当前元素个数 cout<<"Now there are "<<eg1.size()<<" elements in the set eg1"<<endl; if(eg1.find(200)==eg1.end())//find()函数可以查找元素是否存在 cout<<"200 isn't in the set eg1"<<endl; set<int>eg2; for(int i=6; i<15; i++) eg2.insert(i); cout<<"Set named eg2:"<<endl; for(set_iter=eg2.begin(); set_iter!=eg2.end(); set_iter++) cout<<*set_iter<<" "; cout<<endl;//获得两个set的并 set<int>eg3; cout<<"Union:"; set_union(eg1.begin(),eg1.end(),eg2.begin(),eg2.end(), insert_iterator<set<int> >(eg3,eg3.begin()));//注意第五个参数的形式,元素的合并 copy(eg3.begin(),eg3.end(),ostream_iterator<int>(cout," ")); cout<<endl;//获得两个set的交,注意进行集合操作之前接收结果的set要调用clear()函数清空一下 eg3.clear(); set_intersection(eg1.begin(),eg1.end(),eg2.begin(),eg2.end(),insert_iterator<set<int> >(eg3,eg3.begin()));//共同有的元素 cout<<"Intersection:"; copy(eg3.begin(),eg3.end(),ostream_iterator<int>(cout," ")); cout<<endl;//获得两个set的差 eg3.clear(); set_difference(eg1.begin(),eg1.end(),eg2.begin(),eg2.end(),insert_iterator<set<int> >(eg3,eg3.begin())); cout<<"Difference:";//元素在第一个序列有,而在第二个序列没有 copy(eg3.begin(),eg3.end(),ostream_iterator<int>(cout," ")); cout<<endl;//获得两个set的对称差,也就是假设两个集合分别为A和B那么对称差为AUB-A∩B eg3.clear(); set_symmetric_difference(eg1.begin(),eg1.end(),eg2.begin(),eg2.end(),insert_iterator<set<int> >(eg3,eg3.begin())); copy(eg3.begin(),eg3.end(),ostream_iterator<int>(cout," ")); cout<<endl; return 0;}
运行结果:
0 0
- set容器
- set容器
- set容器
- 容器set
- set容器
- 容器set
- set 容器
- Set容器
- 容器Set
- set容器
- set 容器
- set容器
- set容器
- set容器
- set容器
- set容器
- set 容器
- set容器
- 第十二周项目训练4
- IOS Dev Intro - ARC Forbid Explicit Release
- MD5加密
- WebService到底是什么?
- Keil(MDK-ARM)系列教程(七)_菜单
- set容器
- 10 11周阅读程序(2)
- StreamUtil
- 谈一谈CMU导师和学生的互动方式
- Copying Accelerated Video Decode Frame Buffers
- 词典
- 这世界大有搞头
- 开篇之作
- 第十二周课后实践(2)