STL--set构造方法

来源:互联网 发布:淘宝新建员工 编辑:程序博客网 时间:2024/04/28 09:57
#include<iostream>#include<set>#include<cstdio>#include<algorithm>using namespace std;typedef struct{    int a,b;    char s;} newtype;struct compare   //there is no ().{    bool operator()(const newtype &a, const newtype &b) const    {        return a.s<b.s;    }};//the “; ”  is  here;struct compare1{    bool operator()(const newtype &x,const newtype &y) const    {        return x.a<y.a;    }};set<newtype,compare>element;set<newtype,compare1>setele;int main(){    newtype a,b,c,d,t;    a.a=3;    a.s='b';    b.a=1;    b.s='c';    c.a=2;    c.s='d';    d.a=4;    d.s='a';    element.insert(a);    element.insert(b);    element.insert(c);    element.insert(d);    setele.insert(a);    setele.insert(b);    setele.insert(c);    setele.insert(d);    set<newtype,compare1>::iterator v;    for(v=setele.begin(); v!=setele.end(); v++)        cout<<(*v).a<<" ";    cout<<endl;    set<newtype,compare>::iterator it;    for(it=element.begin(); it!=element.end(); it++)        cout<<(*it).s<<" ";    cout<<endl;    return 0;}
#include <iostream>#include <set>using namespace std;bool fncomp (int lhs, int rhs) {return lhs<rhs;}struct classcomp {  bool operator() (const int& lhs, const int& rhs) const  {return lhs<rhs;}};int main (){  set<int> first;                           // empty set of ints  int myints[]= {10,20,30,40,50};  set<int> second (myints,myints+5);        // pointers used as iterators  set<int> third (second);                  // a copy of second  set<int> fourth (second.begin(), second.end());  // iterator ctor.  set<int,classcomp> fifth;                 // class as Compare  bool(*fn_pt)(int,int) = fncomp;  set<int,bool(*)(int,int)> sixth (fn_pt);  // function pointer as Compare  return 0;}
0 0
原创粉丝点击