他娘的快排

#include <stdio.h>
#include <stdlib.h>

void quick_sort(int a[],int l,int r)
{
    int key = a[l];//这里不要忘记!!!是a[l]
    int i = l,j = r;
    if(l>=r)
        return;
    while(i<j){
        while(i<j&&a[j]>=key)//从数组的最右边开始遍历,一直到比右边数小于key为止
            j--;
        a[i] = a[j];//小于key的话要放左边,那就是左边第一个了
        while(i<j&&a[i]<=key)
            i++;
        a[j] = a[i];
    }
    a[i] = key;
    quick_sort(a,l,i-1);
    quick_sort(a,i+1,r);
}//大while里面的两个while顺序不能颠倒,如果i++放前面如果第一个就是最大的那第二个while根本都进不去
int main()
{
    int a[6];
    int i;
    for(i=0;i<6;i++)
        scanf("%d",&a[i]);
    quick_sort(a,0,5);
    for(i=0;i<6;i++)
        printf("%d ",a[i]);
    return 0;
}

去他娘的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值