#include<iostream>
#include<set>
#include<string>
using namespace std;
struct Info
{
string name;
double score;
bool operator <(const Info &a) const
{
if(a.score==score)
return a.name > name;
return a.score<score;
}
};
int main()
{
set<Info> s;
Info info;
info.name = "abc";
info.score = 123.3;
s.insert(info);
info.name = "GSG";
info.score = 123.3;
s.insert(info);
info.name = "xyz";
info.score = 73,4;
s.insert(info);
for(set<Info>::iterator it = s.begin(); it != s.end(); ++it)
{
cout << (*it).name << ":" << (*it).score << endl;
}
cout << endl;
for(set<Info>::reverse_iterator rit = s.rbegin(); rit != s.rend(); ++rit)
{
cout << (*rit).name << ":" << (*rit).score << endl;
}
cout << endl;
return 0;
}
#include<set>
#include<string>
using namespace std;
struct Info
{
string name;
double score;
bool operator <(const Info &a) const
{
if(a.score==score)
return a.name > name;
return a.score<score;
}
};
int main()
{
set<Info> s;
Info info;
info.name = "abc";
info.score = 123.3;
s.insert(info);
info.name = "GSG";
info.score = 123.3;
s.insert(info);
info.name = "xyz";
info.score = 73,4;
s.insert(info);
for(set<Info>::iterator it = s.begin(); it != s.end(); ++it)
{
cout << (*it).name << ":" << (*it).score << endl;
}
cout << endl;
for(set<Info>::reverse_iterator rit = s.rbegin(); rit != s.rend(); ++rit)
{
cout << (*rit).name << ":" << (*rit).score << endl;
}
cout << endl;
return 0;
}