Sub debugTest()Dim a()As Variant
a =Array(6,2,5,3,7,4,6)
sort a
Debug.Print1EndSubSub sort(a()As Variant)
doSort a,LBound(a),UBound(a)EndSubSub doSort(a()As Variant, low AsLong, high AsLong)If low >= high ThenExitSubDim i AsLong
i = partition2(a, low, high)
doSort a, low, i -1
doSort a, i +1, high
EndSub' 普通的分区方式Function partition(a()As Variant, low AsLong, high AsLong)AsLong' 分区的数量Dim num AsLong' lowDim i AsLong' highDim j AsLongDimkeyAs Variant
i = low
j = high +1key= a(low)Do
i = i +1DoWhile less(a(i),key