set和multiset

来源:互联网 发布:网络销售成功案例 编辑:程序博客网 时间:2024/06/06 02:54

比较简单,所以没有注释。

#include<iostream>#include<set>#include<algorithm>#include<functional>using namespace std;int main(){set<int,greater<int> >s;s.insert(4);s.insert(3);s.insert(5);s.insert(1);s.insert(6);s.insert(2);s.insert(5);set<int,greater<int> >::iterator itera;for(itera=s.begin();itera!=s.end();++itera){cout<<*itera<<" ";}cout<<endl;pair<set<int,greater<int> >::iterator,bool>status=s.insert(4);if(status.second){cout<<"4 inserted as element "<<distance(s.begin(),status.first)+1<<endl;}else{cout<<"4 already exists "<<endl;}set<int,greater<int> >ss;ss=s;copy(ss.begin(),ss.end(),ostream_iterator<int>(cout," "));cout<<endl;ss.erase(ss.begin(),ss.find(3));int num;num=ss.erase(5);cout<<num<<" elements removed"<<endl;copy(ss.begin(),ss.end(),ostream_iterator<int>(cout," "));cout<<endl;system("pause");return 0;}


#include<iostream>#include<string>#include<set>#include<functional>#include<algorithm>using namespace std;int main(){multiset<int,greater<int> >m;m.insert(4);m.insert(3);m.insert(5);m.insert(1);m.insert(6);m.insert(2);m.insert(3);multiset<int,greater<int> >::iterator itera;for(itera=m.begin();itera!=m.end();++itera){cout<<*itera<<" ";}cout<<endl;multiset<int,greater<int> >::iterator iterb;iterb=m.insert(4);cout<<"4 inserted "<<distance(m.begin(),iterb)+1<<endl;multiset<int>mm(m.begin(),m.end());copy(mm.begin(),mm.end(),ostream_iterator<int>(cout," "));cout<<endl;mm.erase(mm.begin(),mm.find(3));int num=mm.erase(4);cout<<"remove 4: "<<num<<endl;copy(mm.begin(),mm.end(),ostream_iterator<int>(cout," "));cout<<endl;system("pause");return 0;}

 

#include<iostream>#include<set>#include<algorithm>#include<functional>using namespace std;template<typename T>class RuntimeCmp{public:enum cmp_mode{normal,reverse};private:cmp_mode mode;public:RuntimeCmp(cmp_mode m=normal):mode(m){}bool operator()(const T& t1,const T& t2)const{return mode==normal?t1<t2:t2<t1;}bool operator==(const RuntimeCmp& rc){return mode==rc.mode;}};void fill(set<int,RuntimeCmp<int> >& s){s.insert(4);s.insert(7);s.insert(5);s.insert(1);s.insert(6);s.insert(2);s.insert(5);}int main(){set<int,RuntimeCmp<int> >s;fill(s);for(set<int,RuntimeCmp<int> >::iterator itera=s.begin();itera!=s.end();++itera){cout<<*itera<<" ";}cout<<endl;RuntimeCmp<int>reverse_order(RuntimeCmp<int>::reverse);set<int,RuntimeCmp<int> >ss(reverse_order);fill(ss);for(set<int,RuntimeCmp<int> >::iterator itera=ss.begin();itera!=ss.end();++itera){cout<<*itera<<" ";}cout<<endl;s=ss;s.insert(3);for(set<int,RuntimeCmp<int> >::iterator itera=s.begin();itera!=s.end();++itera){cout<<*itera<<" ";}cout<<endl;if(s.value_comp()==ss.value_comp()){cout<<"the same sorting"<<endl;}else{cout<<"the different sorting"<<endl;}system("pause");return 0;}



原创粉丝点击