文章
5
粉丝
244
获赞
5
访问
8.5k
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int n,flag;
struct Stu{
int index;
string name;
int score;
};
bool cmpinc(Stu a,Stu b)
{
if(a.score!=b.score)
{
return a.score<b.score;
}
else
{
return a.index<b.index;
}
}
bool cmpdec(Stu a,Stu b)
{
if(a.score!=b.score)
{
return a.score>b.score;
}
else
{
return a.index<b.index;
}
}
int main()
{
while(cin>>n)
{
cin>>flag;
Stu s[n];
for(int i=0;i<n;i++)
{
cin>>s[i].name>>s[i].score;
s[i].index=i;
}
if(flag==0)
{
stable_sort(s,s+n,cmpdec);
}
else
{
stable_sort(s,s+n,cmpinc);
}
for(int i=0;i<n;i++)
{
cout<<s[i].name<<" "<<s[i].score<<endl;
}
}
return 0;
}
思路
1. 定义结构体,注意要有index的项。
2. cmpzid
登录后发布评论
暂无评论,来抢沙发