C语言排序题排序[ Submit Code ] [ Top 20 Runs ] Acceteped :781 Submit :1992 Time Limit :1000 MS Memory Limit :65536 KB DescriptionN个整数,将其排序输出.输入第一行是一个整数K(1

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/19 07:09:31
C语言排序题排序[SubmitCode][Top20Runs]Acceteped:781Submit:1992TimeLimit:1000MSMemoryLimit:65536KBDescriptio

C语言排序题排序[ Submit Code ] [ Top 20 Runs ] Acceteped :781 Submit :1992 Time Limit :1000 MS Memory Limit :65536 KB DescriptionN个整数,将其排序输出.输入第一行是一个整数K(1
C语言排序题
排序
[ Submit Code ] [ Top 20 Runs ]
Acceteped :781 Submit :1992
Time Limit :1000 MS Memory Limit :65536 KB
Description
N个整数,将其排序输出.
输入
第一行是一个整数K(1

C语言排序题排序[ Submit Code ] [ Top 20 Runs ] Acceteped :781 Submit :1992 Time Limit :1000 MS Memory Limit :65536 KB DescriptionN个整数,将其排序输出.输入第一行是一个整数K(1
既然你会写排序算法,那么就给你个主函数的写法参考一下吧:
struct sample {
    int count; // 一个样例中的数据个数
    int *data; // 一组数据
    char order; // 排序方式
};
main()
{
    int nSample;
    int i, j;
    struct sample *sp;
    scanf("%d", &nSample); // 取得样例个数
    sp = (struct sample *)malloc(nSample*sizeof(struct sample));
    for(i = 0; i < nSample; i++) {
        scanf("%d %c", &sp[i].count, &sp[i].order);
        sp[i].data = (int *)malloc(sp[i].count * sizeof(int));
        for(j = 0; j < sp[i].count; j ++)
            scanf("%d", &sp[i].data[j])
        // 调用排序算法,排序算法的具体实现略
        order(sp);
    }
    // 将排序结果一起输出
    for(i = 0; i < nSample; i++) {
        printf("%d", sp[i].data[0]);
        for(j = 1;  j < sp[i].count; j++)
            printf(" %d", sp[i].data[j]);
        printf("\n");
    }
    // 释放分配的内存
    for(i = 0; i < nSample; i++)
        free(sp[i].data);
    free(sp);
}