2021.01.04

排序以及快排的使用

时间2021.01.04
题目
https://www.luogu.com.cn/problem/P1104

代码编写
#include
using namespace std;
struct no{
char name[100];
int year,mon,day;
int level;
}a[110];

bool cmp(no a,no b)
{
if(a.year if(a.year>b.year)return 0;
if(a.yearb.year)
{
if(a.mon if(a.mon>b.mon)return 0;
if(a.mon
b.mon)
{
if(a.day if(a.day>b.day)return 0;
if(a.day==b.day)
{
if(a.level>b.level)return 1;
else return 0;
}
}
}
}
int main()
{
int n;
scanf("%d",&n);
int i,j;
for(i=1;i<=n;i++)
{
scanf("%s %d %d %d",a[i].name ,&a[i].year,&a[i].mon,&a[i].day);
a[i].level=i;
} //输入所有的数据

 sort(a+1,a+n+1,cmp);//快排,并进行要求运行
 for(i=1;i<=n;i++)
 {
 	printf("%s\n",a[i].name);
 }//输出答案
return 0;

}

你可能感兴趣的:(学习,算法,c语言)