set测试
2016-04-24 21:55
302 查看
#include<set>
#include<iostream>
#include<algorithm>
using namespace std;
void main()
{
int i;
int ia[5]={0,1,2,3,4};
int ib[5]={9,8,7,6,5};
set<int> iset(ia,ia+5);
set<int> iset1(ib,ib+5);
cout<<"size="<<iset.size()<<endl;
cout<<"3 count="<<iset.count(3)<<endl;
iset.insert(3);
cout<<"size="<<iset.size()<<endl;
cout<<"3 count="<<iset.count(3)<<endl;
iset.insert(5);
cout<<"size="<<iset.size()<<endl;
cout<<"5 count="<<iset.count(5)<<endl;
iset.erase(1);
cout<<"size="<<iset.size()<<endl;
cout<<"1 count="<<iset.count(1)<<endl;
set<int>::iterator ite1=iset.begin();
set<int>::iterator ite2=iset.end();
for(;ite1!=ite2;++ite1)
cout<<*ite1<<' ';
cout<<endl;
//STL算法,一步步查询较慢
ite1 = find(iset.begin(),iset.end(),3);
if(ite1!=iset.end())
cout<<*ite1<<endl;
ite1 = find(iset.begin(),iset.end(),1);
if(ite1==iset.end())
cout<<"1 not found!"<<endl;
//关联式容器提供的find算法,效率更快
ite1 = iset.find(3);
if(ite1!=iset.end())
cout<<*ite1<<endl;
ite1 = find(iset.begin(),iset.end(),1);
if(ite1==iset.end())
cout<<"1 not found!"<<endl;
swap(iset,iset1);//交换iset和iset1集合
set<int>::iterator ite;
for(ite=iset.begin();ite!=iset.end();++ite)
cout<<*ite<<' ';
cout<<endl;
for(ite=iset1.begin();ite!=iset1.end();++ite)
cout<<*ite<<' ';
cout<<endl;
//*ite1=9;//企图修改迭代器来改变set元素,是不被允许的
}
#include<iostream>
#include<algorithm>
using namespace std;
void main()
{
int i;
int ia[5]={0,1,2,3,4};
int ib[5]={9,8,7,6,5};
set<int> iset(ia,ia+5);
set<int> iset1(ib,ib+5);
cout<<"size="<<iset.size()<<endl;
cout<<"3 count="<<iset.count(3)<<endl;
iset.insert(3);
cout<<"size="<<iset.size()<<endl;
cout<<"3 count="<<iset.count(3)<<endl;
iset.insert(5);
cout<<"size="<<iset.size()<<endl;
cout<<"5 count="<<iset.count(5)<<endl;
iset.erase(1);
cout<<"size="<<iset.size()<<endl;
cout<<"1 count="<<iset.count(1)<<endl;
set<int>::iterator ite1=iset.begin();
set<int>::iterator ite2=iset.end();
for(;ite1!=ite2;++ite1)
cout<<*ite1<<' ';
cout<<endl;
//STL算法,一步步查询较慢
ite1 = find(iset.begin(),iset.end(),3);
if(ite1!=iset.end())
cout<<*ite1<<endl;
ite1 = find(iset.begin(),iset.end(),1);
if(ite1==iset.end())
cout<<"1 not found!"<<endl;
//关联式容器提供的find算法,效率更快
ite1 = iset.find(3);
if(ite1!=iset.end())
cout<<*ite1<<endl;
ite1 = find(iset.begin(),iset.end(),1);
if(ite1==iset.end())
cout<<"1 not found!"<<endl;
swap(iset,iset1);//交换iset和iset1集合
set<int>::iterator ite;
for(ite=iset.begin();ite!=iset.end();++ite)
cout<<*ite<<' ';
cout<<endl;
for(ite=iset1.begin();ite!=iset1.end();++ite)
cout<<*ite<<' ';
cout<<endl;
//*ite1=9;//企图修改迭代器来改变set元素,是不被允许的
}
相关文章推荐
- CSR8670的A2DP与AVRCP的应用笔记
- 迭代遍历二叉树
- Ubuntu server 14.04 U盘安装 光盘挂载错误
- HDU 5671 Matrix
- 第八章 类的高级
- spark sql 窗口函数over partition by
- POJ-3140 Contestants Division (树)
- Java编程基础--空指针异常
- J2EE的十三个规范
- Digit cancelling fractions
- java注解
- xcode提交版本时提示The working copy "MyPro" failed to commit files.解决方法
- BJTU 数学题
- 数值算法
- UVA_10020_Minimal coverage
- 优雅的创建一个相册管理类(兼容AssetsLibrary和PhotoKit)
- Java多线程干货系列—(一)Java多线程基础
- 站立会议第七天
- win10自带中文输入法的用户体验
- 站立会议个人博客6(2016/4/24)