关于CMP为什么要先看年再看月
  • 板块P1104 生日
  • 楼主dmx7u19x
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/7/25 19:59
  • 上次更新2023/11/3 07:40:24
查看原帖
关于CMP为什么要先看年再看月
739214
dmx7u19x楼主2023/7/25 19:59

为什么要这么麻烦,谁来给本蒟蒻解释解释

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_;
}

不就得了?

2023/7/25 19:59
加载中...