快速排序
快速排序
快速又巧妙,爆杀希尔排序
#include<stdio.h>
int partition(int* arr, int low, int high)
{
int pivot = arr[low];
while (low < high)
{
while (low < high && arr[high] >= pivot)high--;
arr[low] = arr[high];
while (low < high && arr[low] <= pivot)low++;
arr[high] = arr[low];
}
arr[low] = pivot;
return low;
}
void quick_sort(int* arr, int low, int high)
{
if (low < high)
{
int pivot = partition(arr, low, high);
quick_sort(arr, low, pivot - 1);
quick_sort(arr, pivot + 1, high);
}
}
int main()
{
int arr[10] = { 9,3,5,7,1,2,4,6,8,0 };
quick_sort(&arr,0,9);
}

浙公网安备 33010602011771号