搜索
查看: 1671|回复: 2
打印 上一主题 下一主题

[C/C++语言] C语言 结构体 快排序

[复制链接]
跳转到指定楼层
楼主
发表于 2014-11-3 14:38:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//c
#include <stdio.h>
#include <stdlib.h>
struct node
{
    int a,b;
};
struct node q[1001];
int cmp(const struct node *x,const struct node *y)
{
    if( (*x).a < (*y).a)
        return 1;
    else if(  (*x).a==(*y).a && (*x).b<(*y).b  )
        return 1;
    else
        return -1;
}
int main()
{
    int i,n;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d %d",&q.a,&q.b);
    }
    qsort(&q[1],n,sizeof(q[0]),cmp);
    printf("\n");
    for(i=1;i<=n;i++)
    {
        printf("%d %d\n",q.a,q.b);
    }
    return 0;
}

//cpp


//

#include <cstdio>
#include <cstdlib>
using namespace std;
struct node
{
    int a,b;
};
struct node q[1001];
int cmp(const void *x,const void *y)
{
    if(  (*(struct node *)x).a < (*(struct node *)y).a )
        return 1;
    else if(  (*(struct node *)x).a==(*(struct node *)y).a && (*(struct node *)x).b<(*(struct node *)y).b  )
        return 1;
    else
        return -1;
}
int main()
{
    int i,n;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d %d",&q.a,&q.b);
    }
    qsort(&q[1],n,sizeof(q[0]),cmp);
    printf("\n");
    for(i=1;i<=n;i++)
    {
        printf("%d %d\n",q.a,q.b);
    }
    return 0;
}
沙发
发表于 2014-11-7 19:46:10 | 只看该作者
战斗机。。。
板凳
发表于 2014-11-7 19:46:30 | 只看该作者
up                                       
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表