快速排序c代码

//快速排序,通过测试
#include "stdio.h"
     void quickSort(int* data,int len){   
        if(len<=1) return;
        int start=0;
        int end=len-1;
        int pivot=data[0];
        while(start<end){
            for(;start<end;end--){
                if(data[end]<pivot){
                    data[start++]=data[end];
                    break;
                }
            }
            for(;start<end;start++){
                if(data[start]>pivot){
                    data[end--]=data[start];
                    break;
                }
            }
        }
        data[start]=pivot;
        quickSort(data,start);
        quickSort(data+start+1,len-start-1); 
    } 

void main (){
        int data[]={9,8,7,6,5,4,3,2,1};
        quickSort(data,sizeof(data)/sizeof(int));
        for(int i=0;i<sizeof(data)/sizeof(data[0]);i++){
            printf("%d ",data[i]);
        }
}
原文地址:https://www.cnblogs.com/seven7seven/p/3621276.html