#include<iostream>
using namespace std;
#include<set>
void printset(set<int> &s)
{
for(set<int>::iterator it=s.begin();it!=s.end();it++)
{
cout<<*it<<" ";
}
cout<<"\n";
}
void test01()
{
set<int>s1;//创建set容器
s1.insert(10);
s1.insert(40);
s1.insert(20);
s1.insert(30);
s1.insert(40);
//遍历容器
//set容器特点:所有元素插入时候自动被排序
//set容器不允许插入重复值
printset(s1);//10 20 30 40
set<int>s2(s1);//拷贝构造
printset(s2); //10 20 30 40
set<int>s3;
s3=s2;
printset(s3);//10 20 30 40
s2.insert(100);//10 20 30 40 100
if(s1.empty())
{
cout<<"s1为空"<<endl;
}
else
{
cout<<"s1的大小为:"<<s1.size()<<endl;
}
s1.swap(s2);
printset(s1);//10 20 30 40 100
printset(s2); //10 20 30 40
//删除
s1.erase(s1.begin());
printset(s1);//20 30 40 100
//删除的重载版本
s1.erase(100);
printset(s1);//20 30 40
set<int>::iterator pos=s1.find(30);//set 查找
if(pos!=s1.end())
{
cout<<"找到元素:"<<*pos<<endl;
}
else
{
cout<<"未找到元素"<<endl;
}
//统计 ,统计结果只能是 或者1,因为set不能重复
int num =s1.count(30);
cout<<"num=="<<num<<endl;
s1.erase(s1.begin(),s1.end());
//s1.clear();
printset(s1);
}
int main()
{
test01();
}