解题思路:

注意事项:

参考代码:

#include <stdio.h>

void quick_sort(int num[], int low, int high)

{

    int i, j, temp;

    int tmp;

    i = low;

    j = high;

    tmp = num[low];  

    if (i > j)  

    {

        return;

    }

    while (i != j)

    {

        while (num[j] >= tmp && j > i)

        {

            j--;

        }


        while (num[i] <= tmp && j > i)

        {

            i++;

        }


        if (j > i)

        {

            temp = num[j];

            num[j] = num[i];

            num[i] = temp;

        }

    }


    num[low] = num[i];

    num[i] = tmp;


    quick_sort(num, low, i - 1);

    quick_sort(num, i + 1, high);

}

int main()

{

    int a[100005];

    int i,cnt=0,n;

    scanf("%d", &n);

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

    {

        scanf("%d", &a[i]);

        cnt++;

    }

    quick_sort(a, 0, cnt-1);

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

    {

        printf("%d ", a[i]);

    }

    return 0;

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论