您的位置:首页 > 其它

nyoj 8 一种排序

2016-07-13 11:35 204 查看
学会了使用qsort函数 来进行排序
http://baike.baidu.com/link?url=ui_gRpSGl5ZBO6SqQDeKnG_EBOnfS4ZH3XTNlBd826grBJzPp-SQisr0ITjopXIZXivhXUCZnpgjMXjPH1dFZK
#include<stdio.h>

#include<stdlib.h>

struct ch

{

int l;

int w;

int b;

} ;

int comp(const void *p1,const void *p2)

{

struct ch*c=(ch*)p1;

struct ch*d=(ch*)p2;

if(c->b!=d->b)

return c->b-d->b;

else if(c->l!=d->l)

return c->l-d->l;

else

return c->w-d->w;

}

int main()

{

ch c[10000];

int n,m;

int i,j,k,t;

scanf("%d",&n);

while(n--)

{

scanf("%d",&m);

for(i=0;i<m;i++)

{

scanf("%d%d%d",&c[i].b,&c[i].l,&c[i].w);

if(c[i].l<c[i].w)

{

t=c[i].l;

c[i].l=c[i].w;

c[i].w=t;

}

}

qsort(c,m,sizeof(ch),comp);

printf("%d %d %d\n",c[0].b,c[0].l,c[0].w);

for(i=1;i<m;i++)

{

if(c[i-1].b!=c[i].b||c[i-1].l!=c[i].l||c[i-1].w!=c[i].w)

printf("%d %d %d\n",c[i].b,c[i].l,c[i].w);

}

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: