首页 /编程语言和算法/VB6/VBA/ASP
 VBA代码 排序算法
2025年3月18日 15:01
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


 
全部回复(0)
首页 | 电脑版 |