#include


void QuickSort(int * arr,int low,int high);

int findPost(int * arr,int low,int high);


void main(void){

int arr[7] = {-2, 1,-8, 0, -985, 4, -93};

QuickSort(arr,0,7);

for(int i = 0;i<7;i++){

printf("%d\n",arr[i]);

}

}

//快排算法

void QuickSort(int * arr,int low,int high){

int post;

if(low < high){

post = findPost(arr,low,high);

QuickSort(arr,low,post-1);

QuickSort(arr,post+1,high);

}


}

//查找节点位置

int findPost(int * arr,int low,int high){

int val = arr[low];

while(low < high){

while(arr[high] >= val && low < high){

high--;

}

arr[low] = arr[high];

while(arr[low] <= val && low

low++;

}

arr[high] = arr[low];

}

arr[high] = val;

return high;

}