'快速排序
Sub QuickSort0(MyArray(), L, R)
Dim I, j, x, y
I = L
j = R
'找出数组的中点
x = MyArray((L + R) / 2)
While (I <= j)
'找出比中点大的数
While (MyArray(I) < x And I < R)
I = I + 1
Wend
'找出比中点小的数
While (x < MyArray(j) And j > L)
j = j - 1
Wend
'互换这两个数
If (I <= j) Then
y = MyArray(I)
MyArray(I) = MyArray(j)
MyArray(j) = y
I = I + 1
j = j - 1
End If
Wend
'未完成时递归调用
If (L < j) Then Call QuickSort(MyArray(), L, j)
If (I < R) Then Call QuickSort(MyArray(), I, R)
End Sub
02-11
2180
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
09-06
844
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交