Sub QuickSort(tr, l&, u&)
'http://club.excelhome.net/forum.php?mod=redirect&goto=findpost&ptid=961205&pid=7825303
'香川群子改进快速排序算法
Dim i&, j&, x, t
x = tr(l): i = l + 1: j = u
Do
Do While i < u
If tr(i) > x Then Exit Do Else i = i + 1
Loop
Do While j > l
If tr(j) < x Then Exit Do Else j = j - 1
Loop
If i < j Then t = tr(i): tr(i) = tr(j): tr(j) = t Else Exit Do
Loop
If j > l Then t = tr(l): tr(l) = tr(j): tr(j) = t: Call QuickSort(tr, l, j)
If j + 1 < u Then Call QuickSort(tr, j + 1, u)
End Sub