您的位置:首页 > 其它

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元素,是不被允许的

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: