struct Stu{
int ID,score;
Stu(int i,int b){ID=i;score=b;}
bool operator >( Stu *s )const{
if( (s->score) > (this->score) )return true;
else if( (s->score) == (this->score) )return true;
else if( (s->score) < (this->score) )return false;
else cout<<"else!!!"<<endl;
}
};
==============
srand(time(0));
set<Stu*,greater<Stu*> > setStu;
set<int,greater<int> > setint;
Stu *pStu=NULL;
cout<<"初始化:"<<endl;
for(int i=0;i<10;i++){
int dd=i+rand()%89;
pStu=new Stu(i,dd);
cout<<pStu->score<<" ";
setStu.insert(pStu);
setint.insert(dd);
}
set<Stu*,greater<Stu*> > 这个好像是按insert(指针地址)降序排列了。
我想要的意思是:按照(Stu *p)->score的值来降序排列set<Stu*,greater<Stu*> >的KEY。。。
我该怎么设置才好。。。
int ID,score;
Stu(int i,int b){ID=i;score=b;}
bool operator >( Stu *s )const{
if( (s->score) > (this->score) )return true;
else if( (s->score) == (this->score) )return true;
else if( (s->score) < (this->score) )return false;
else cout<<"else!!!"<<endl;
}
};
==============
srand(time(0));
set<Stu*,greater<Stu*> > setStu;
set<int,greater<int> > setint;
Stu *pStu=NULL;
cout<<"初始化:"<<endl;
for(int i=0;i<10;i++){
int dd=i+rand()%89;
pStu=new Stu(i,dd);
cout<<pStu->score<<" ";
setStu.insert(pStu);
setint.insert(dd);
}
set<Stu*,greater<Stu*> > 这个好像是按insert(指针地址)降序排列了。
我想要的意思是:按照(Stu *p)->score的值来降序排列set<Stu*,greater<Stu*> >的KEY。。。
我该怎么设置才好。。。