快速排序

代码:

#include<stdio.h>
#include<string.h>

void quick(int a[],int l,int r){
    int i,j,temp;
    i=l;
    j=r;
    if(l<r){
        temp = a[l];
        while(i!=j){
            while(j>i&&a[j]>temp){
                --j;
            }
            if(i<j){
                a[i]=a[j];
                i++;
            }

            while(j>i&&a[i]<temp){
                i++;
            }
            if(i<j){
                a[j]=a[i];
                j--;
            }
        }
        a[i]=temp;
        quick(a,l,i-1);
        quick(a,i+1,r);
    }

}
int main()
{
    int a[10] = {5,9,90,98,3,3,5,2,1,0};

    int i;
    quick(a,0,9);
    for(i=0;i<10;i++){
        printf("%d ",a[i]);
    }
}

运行结果:

原文地址:https://www.cnblogs.com/ncuhwxiong/p/7737801.html