求用C语言利用快速排序法完成数组排序,完成如下例子,谢谢谢谢:

排序前:
1 1 1
1 1 3
2 1 3
1 2 1
2 1 2
1 2 2
2 2 2
1 2 3
2 2 1
1 1 2
1 2 4
1 3 1
2 1 1
2 2 3

排序号:
1 1 1
1 1 2
1 1 3
1 2 1
1 2 2
1 2 3
1 2 4
1 3 1
2 1 1
2 1 2
2 1 3
2 2 1
2 2 2
2 2 3

2个回答

C语言标准库的qsort函数,就是快速排序。

#include "stdlib.h"
#include "stdio.h"

int data[14][3] = {
    { 1, 1, 1 },
    { 1, 1, 3 },
    { 2, 1, 3 },
    { 1, 2, 1 },
    { 2, 1, 2 },
    { 1, 2, 2 },
    { 2, 2, 2 },
    { 1, 2, 3 },
    { 2, 2, 1 },
    { 1, 1, 2 },
    { 1, 2, 4 },
    { 1, 3, 1 },
    { 2, 1, 1 },
    { 2, 2, 3 }
};

int order[14];

int cmp(const void *a, const void *b)
{
    int * x = data[(*(int *)a)];
    int * y = data[(*(int *)b)];
    if (x[0] == y[0])
    {
        if (x[1] == y[1])
            return x[2] - y[2];
        else
            return x[1] - y[1];
    }
    return x[0] - y[0];
}

int main()
{
    printf("排序前\n");
    for (int i = 0; i < 14; i++)
    {
        order[i] = i;
        printf("%d %d %d\n", data[order[i]][0], data[order[i]][1], data[order[i]][2]);
    }
    qsort(order, 14, sizeof(int), cmp);
    printf("排序后\n");
    for (int i = 0; i < 14; i++)
    {
        printf("%d %d %d\n", data[order[i]][0], data[order[i]][1], data[order[i]][2]);
    }
    return 0;
}


图片说明

如果问题得到解决,请点我回答左上角的采纳和向上的箭头,谢谢

因为之前的冒泡法效率太慢了,我处理的数据很多,所以需要快速排序法完成,谢谢各位朋友的帮助,谢谢谢谢了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

相似问题

2
C语言数组排序及其他算法思想
10
c语言交换数组交换无效,求大神帮助,小弟在线等
3
数据结构C语言链表输入排序问题
5
C语言排序求帮忙查bug
1
javascript读取2个json数组,并且合并成一个数组,再排序
4
javascript如何用数组实现冒泡排序的算法,不用sort函数怎么实现?
2
javascropt语言怎么实现数组逆向排序,也就是大的数字反倒要排前面,这个思路是怎么样的
4
javascrip语言,怎么实现两个数组类似excel的 rank 函数
1
c语言编写函数问题,要求如下
1
java程序设计(字符串排序)
3
Java用怎样用main方法排序?
1
c# 在命令行中输入任意10个字符串,根据字符串类型将输入的数据放入到不同数组中,最后将数组进行排序
4
请问想完成如下数组的排序,有什么方法,谢谢?
1
用C语言完成数组排序,并对最后一列数据按条件求和,具体任务如下:
1
javascrpt语言怎么实现对数组排序,用log输出,不能调用系统函数,
1
用C语言完成数组排序,并对最后一列数据按条件求和,且求和后输出需要的数据,具体任务如下:
0
用C语言完成数组排序计算后,输出需要的计算数据:
2
C语言冒泡排序法出现Debug/实验7-8.exe : fatal error LNK1120: 1 unresolved externals错误 怎么办?
1
【C语言问题】同一个问题利用指针的两种实现,另一种出现问题,求大佬解答
1
【C语言】结构体数组作为函数参数的排序问题