问题 3993 --日期排序(完善程序)

3993: 日期排序(完善程序)★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 1351  解决: 866
[提交][状态][命题人:]

题目描述

以下代码输入n组日期(年月日),并把日期按从旧到新排序输出。请把代码补充完整。
#include<iostream>
using namespace std;
struct Date
{
	int year,month,day;
};
int dateCompare(const Date* dp1,const Date *dp2)
{
	int t=dp1->year-dp2->year;
	if(t==0) t=_____(1)________;
	if(t==0) t=dp1->day-dp2->day;
	return t;
}
void sort(______(2)________)
{
	for(int i=0;i<n-1;i++)
	{
		int k=i;
		for(int j=i+1;______(3)_______;j++)
			if(dateCompare(_____(4)______)<0) k=j;
		Date t=p[i]; p[i]=p[k]; p[k]=t;
	}
}
int main()
{
	int n;
	cin>>n;
	______(5)_______
	for(int i=0;i<n;i++)
	cin>>p[i].year>>p[i].month>>p[i].day;
	sort(p,n);
	for(int i=0;i<n;i++)
	cout<<p[i].year<<"/"<<p[i].month<<"/"<<p[i].day<<endl;
	delete [] p;
}

输入

输出

样例输入
Copy
10
2010 10 20
2010 10 21
2010 12 19
1999 12 20
1999 10 21
1999 10 20
2011 10 20
2011 12 19
2011 12 20
1998 10 10
样例输出
Copy
1998/10/10
1999/10/20
1999/10/21
1999/12/20
2010/10/20
2010/10/21
2010/12/19
2011/10/20
2011/12/19
2011/12/20

提示

来源

[提交][状态]