#include<stdio.h>
int partition(int array[], int low , int high);
int quickSort(int array[], int low , int high);
int main()
{
int array[] = {1,2,6,9,7,41,5,787,56,9878,7456,7894,689,77};
quickSort(array, 0 , sizeof(array)/sizeof(int)-1);
int i;
for(i = 0; i < sizeof(array)/sizeof(int); ++i)
{
printf("%5d",array[i]);
}
return 0;
}
int partition(int array[], int low , int high)
{
int pivot = array[low];
while(low < high)
{
while(low < high && array[high] >= pivot) --high;
array[low] = array[high];
while(low < high && array[low] <= pivot) ++low;
array[high] = array[low];
}
array[low] = pivot;
return low;
}
int quickSort(int array[], int low , int high)
{
if(low < high)
{
int mid = partition(array, low , high);
quickSort(array, low , mid - 1);
quickSort(array, mid + 1 , high);
}
}
快速排序
最新推荐文章于 2021-11-19 16:57:43 发布