快速排序C#代码实现
//arr:待排序数组,left待排序起始下标,right待排序结束下标位置
static void QuickSort(int[] arr,int left,int right)
{
if (left < right)
{
int i = left, j = right;//i,j两个向pivot移动的指针
int pivot = arr[i];
while (i < j)
{
while (i < j && pivot <= arr[j]) { j--; }
arr[i] = arr[j];
while (i < j && pivot >= arr[i]) { i++; }
arr[j] = arr[i];
}
arr[i] = pivot;
QuickSort(arr, left, i - 1);
QuickSort(arr, i + 1, right);
}
}