/*闭区间 [ A[L] ,A[R] ]*/ void QuickSort(int A[],int L ,int R){ if(L < R){ int pivot = R ,i = L - 1 , j; for(j = L ; j < R ;j++){ if(A[j] <= A[pivot]){ i++ ; std::swap(A[j],A[i]) ; } } std::swap(A[pivot],A[i+1]) ; pivot = i + 1 ; QuickSort(A,L,pivot-1) ; QuickSort(A,pivot+1,R) ; } }
快排的思想最重要的是:
(1)每层内 pivot(轴) 的位置一定是固定的 。
(2)每层内 <= A[pivot] ,与 〉A[pivot] 的个数也是个定值 。