快速排序c语言代码:
int partition(int arr[], int low, int high){
int key;
key = arr[low];
while(low<high){ //此处以下是快速排序的关键代码
while(low <high && arr[high]>= key )// 指针从最后一个开始,指针位置的值与arr[1]比较,若大于等于,则指针前移,直至小于时,交换
high--;
if(low<high)
arr[low++] = arr[high];
while( low<high && arr[low]<=key )//high指针所指数据交换后,从low端判断,依旧与arr[1]比较,至大于时,交换
low++;
if(low<high)
arr[high--] = arr[low];
}
arr[low] = key;
return low;
}
void quick_sort(int arr[], int start, int end){
int pos;
if (start<end){
pos = partition(arr, start, end);
quick_sort(arr,start,pos-1);//每次排序后,