我是靠谱客的博主 雪白枫叶,最近开发中收集的这篇文章主要介绍hdoj 1234(结构体排序),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#include<iostream>
#include<stdio.h>
#include<string>
#include<algorithm>
using namespace std;
class Person
{
public:
	char id[50];
	int  cometime;
	int  lefttime;
};

int comparecometime(const void *a,const void *b)
{
	return ((Person*)a)->cometime-((Person*)b)->cometime;
}

int comparelefttime(const void *a,const void *b)
{
	return ((Person*)a)->lefttime-((Person*)b)->lefttime;
}
int main()
{
	int N,M;
	scanf("%d",&N);
	getchar();
	while(N--)
	{
		scanf("%d",&M);
		getchar();char temp[50];char come[50];char left[50];
		Person p[100];int i;
		for(i=0;i<M;i++)
		{
			scanf("%s",temp);
			strcpy(p[i].id,temp);
			//getchar();
			scanf("%s",come);
			//getchar();
			p[i].cometime=
				(come[7]-'0')+(come[6]-'0')*10    //分
					+( (come[4]-'0')+(come[3]-'0')*10 )*60
						+( (come[1]-'0')+(come[0]-'0')*10 )*3600;
			scanf("%s",left);
			p[i].lefttime=
				(left[7]-'0')+(left[6]-'0')*10    //分
					+( (left[4]-'0')+(left[3]-'0')*10 )*60
						+( (left[1]-'0')+(left[0]-'0')*10 )*3600;
		}
		qsort(p,M,sizeof(Person),comparecometime);
		cout<<p[0].id<<" ";
		qsort(p,M,sizeof(Person),comparelefttime);
		cout<<p[M-1].id<<endl;
	}
	return 0;
}

/*
1 strcpy(d,r)
2 qsort(首地址,个数,sizeof(class),comepare);
3 //因为很久没有用排序啦,所以这一次有点吃力。再查自己的博客。如果有一点acm啦。中么办。
最简单的方法就是提前背会。熟练应用。

*/


最后

以上就是雪白枫叶为你收集整理的hdoj 1234(结构体排序)的全部内容,希望文章能够帮你解决hdoj 1234(结构体排序)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部