快速排序算法 7.31

该博客详细介绍了快速排序算法的实现过程,包括主函数、partition 函数的逻辑,并使用 C 语言进行了完整代码展示。通过递归调用快速排序对整型数组进行排序,最后输出排序后的结果。此算法在信息技术领域中属于基础且高效的排序方法。
摘要由CSDN通过智能技术生成

#include <stdio.h>
int pari(int a[],int l,int r) {
    int i=l,j=r;
    int tem=a[i];  //选取基准
    while(i<j) {
        while(i<j&&a[j]>=tem)j--;  //从右到左访问
        a[i]=a[j];
        while(i<j&&a[i]<=tem)i++; //从左到右访问
        a[j]=a[i];
    }
    a[j]=tem;
    return i;
}

void quk(int a[],int l,int r) {
    int q;
    if(l<r) {
        q=pari(a,l,r);
        quk(a,l,q-1);
        quk(a,q+1,r);
    }
}

int main() {  
    int N;
    scanf("%d",&N);
    int a[N];
    for(int i=0;i<N;i++)
    scanf("%d",&a[i]);
    quk(a,0,N-1);
    for(int j=0;j<N;j++)
    printf("%d ",a[j]);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值