#include<iostream>
#include<set>
using namespace std;
//方法一、以类为比较器
struct cmp1
{
bool operator ()(const int &a,const int &b)
{
return a>b;
}
};
//方法二、以指针函数为比较器
bool cmp2(int a,int b)
{
return a<b;
}
int main()
{
set<int,cmp1>s1;
int i;
bool (*fcmp)(int,int)=cmp2;
set<int,bool(*)(int,int)>s2(fcmp);
for(i=1;i<=10;i++)
s1.insert(i*10);
cout<<"容器s1中的元素为:\n";
copy(s1.begin(), s1.end(), ostream_iterator<int>(cout, " ") );//元素输出用“ ”隔开
cout<<endl<<endl;
int x=50;
for(x;x<=200;x+=10)
if(s1.insert(x).second)//如果s1.insert(x).second为1,表示插入成功,否则不成功
cout<<"Yes! "<<x<<" has insert into the s1"<<endl;
else cout<<"No! one more try"<<endl;
cout<<"插入元素后的s1队列为:\n";
copy(s1.begin(), s1.end(), ostream_iterator<int>(cout, " ") );//元素输出用“ ”隔开
cout<<endl<<endl;
for(i=1;i<=10;i++)
s2.insert(2*i+1);
cout<<"容器s2中的元素为:\n";
copy(s2.begin(),s2.end(),ostream_iterator<int>(cout," "));
cout<<endl<<endl;
return 0;
}
set容器的排序
最新推荐文章于 2024-04-02 09:29:08 发布