前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速排序

快速排序

作者头像
_DIY
发布2022-05-06 09:13:44
1240
发布2022-05-06 09:13:44
举报
文章被收录于专栏:用户6093955的专栏

要求:先输入n, 表示需要排n个数。

代码语言:javascript
复制
#include<stdio.h>
int a[101], n;
void quicksort(int left, int right)
{
    int i, j, t, temp;
    if(left>right)      /*若满足此条件,表明已将基准数放到该放的位置,需要返回上一层*/
        return ;        


    temp = a[left]; /*temp代表基准数*/
    i = left;
    j = right;
    while(i != j)
    {
        while(a[j] >= temp && j > i)
            j--;
        while(a[i] <= temp && j > i)
            i++;
        if(i < j)
        {
            t = a[i];
            a[i] = a[j];
            a[j] = t;
        }

    }
    a[left] = a[i];
    a[i] = temp;        /*将基准数放到应该放的位置*/

    /*以下为递归*/

    quicksort(left, i-1); /*排基准数左边的部分*/
    quicksort(i+1, right);   /*排基准数右边的部分*/

}
int main()
{
    scanf("%d",&n);
    int i;
    for(i = 0; i < n; i++)
        scanf("%d",&a[i]);
    printf("i = %d\n",i);
    quicksort(0, n-1);         /*0 表示 最左边位置, n-1 表示 最右边位置*/

    for(i = 0; i < n ;i++)
        printf("%d ",a[i]);
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档