算法:快速排序(C#实现)

快速排序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);
            }
        }

猜你喜欢

转载自blog.csdn.net/u011214654/article/details/84966983
今日推荐