VB排序算法-快速排序
'快速排序I = Lj = R'找出数组的中点'找出比中点大的数I = I + 1Wend'找出比中点小的数j = j - 1Wend'互换这两个数I = I + 1j = j - 1End IfWend'未完成时递归调用End Sub。
'快速排序
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

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)