您的位置:首页 > 其它

一种排序

2015-07-20 16:15 232 查看
#include<stdio.h>
#include<stdlib.h>
struct comper
{
int num,w,l;
}s[100];

int main()
{
int m;
scanf("%d",&m);
while(m--)
{

int cmp( const void *a , const void *b );
int n,t;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d%d%d",&s[i].num,&s[i].l,&s[i].w);
if(s[i].l<s[i].w)
{
t=s[i].l;
s[i].l=s[i].w;
s[i].w=t;
}
}

qsort(s,n,sizeof(s[0]),cmp);
for(int j=0;j<n;j++)
{

if(s[j].num!=s[j+1].num||s[j].l!=s[j+1].l||s[j].w!=s[j+1].w)
printf("%d %d %d\n",s[j].num,s[j].l,s[j].w);

}

}

return 0;
}
int cmp( const void *a , const void *b )
{
struct comper* c=(comper*)a;
struct comper* d=(comper*)b;
//升序排列
if(c->num!=d->num)
return c->num-d->num;
else if(c->l!=d->l)
return c->l-d->l;
else
return c->w-d->w;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: