#include<bits/stdc++.h>
using namespace std;
struct node
{
int num;
string ID;
int age;
};
node a[110];
int n;
int cmp(node a,node b)
{
return (a.age>=60&&b.age>=60&&a.age>b.age)||(a.age>=60&&b.age>=60&&a.age==b.age&&a.num<b.num)||(a.age>=60&&b.age<60)||(a.age<60&&b.age<60&&a.num<b.num);
}
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i].ID>>a[i].age;
a[i].num=i+1;
}
sort(a,a+n,cmp);
for(int i=0;i<n;i++)
cout<<a[i].ID<<endl;
return 0;
}
using namespace std;
struct node
{
int num;
string ID;
int age;
};
node a[110];
int n;
int cmp(node a,node b)
{
return (a.age>=60&&b.age>=60&&a.age>b.age)||(a.age>=60&&b.age>=60&&a.age==b.age&&a.num<b.num)||(a.age>=60&&b.age<60)||(a.age<60&&b.age<60&&a.num<b.num);
}
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i].ID>>a[i].age;
a[i].num=i+1;
}
sort(a,a+n,cmp);
for(int i=0;i<n;i++)
cout<<a[i].ID<<endl;
return 0;
}
本文介绍了一个使用C++实现的排序算法案例,该算法通过自定义比较函数对包含年龄和编号的数据结构进行排序。首先根据年龄是否大于等于60岁进行排序,如果年龄相同则按编号大小排序。

1061

被折叠的 条评论
为什么被折叠?



