为什么要这么麻烦,谁来给本蒟蒻解释解释
bool cmp(node a,node b)
{
if(a.n<b.n)return 1;//先比年
if(a.n>b.n)return 0;
if(a.n==b.n)
{
if(a.y<b.y)return 1;//再比月
if(a.y>b.y)return 0;
if(a.y==b.y)
{
if(a.r<b.r)return 1;//再比日
if(a.r>b.r)return 0;
if(a.r==b.r)
{
if(a.num>b.num)return 1;//最后比编号
else return 0;
}
}
}
}
?
先把年、月、日组合起来不行吗?
for(int i=0;i<=n-1;i++)
{
int u=a[i].year;
u=u*100+a[i].mouth;
u=u*100+a[i].day;
a[i].u_=u;
}
然后
bool CMP(stu p1,stu p2)
{
return p1.u_<p2.u_;
}
不就得了?