@传说中嘚男人这代码大部分是自己写的,当然是比较字符串,可以把第一个参数改成 as integer,left和right是数组的要排序部分的界限,当然是为了递归的时候好用。
Private Sub quicksort(ByRef s() As String, ByVal left As Integer, ByVal right As Integer)
Dim m, l, r, k As Integer
l = left
r = right
m = s((l + r) / 2)
Do
While s(l) < m
l = l + 1
Wend
While s(r) > m
r = r - 1
Wend
If l <= r Then
k = s(l)
s(l) = s(r)
s(r) = k
l = l + 1
r = r - 1
End If
Loop While l <= r
If left < r Then quicksort s, left, r
If l < right Then quicksort s, l, right
End Sub