sort.txt

来自「经典加密算法的VISUAL BASIC 源代码集合,包括RC4,MD5 ,RAS」· 文本 代码 · 共 55 行

TXT
55
字号
快速排序算法(递归算法)
Public Sub QuickSort(ByRef aStrSort() As String, ByVal lngleft As Long, ByVal lngright As Long)
    Dim i As Long
    Dim j As Long
    Dim temp As String
    i = lngleft
    j = lngright
    temp = aStrSort(i)
    
NextStep:
    Do Until i >= j
        While (aStrSort(j) > temp And j > i)
            j = j - 1
        Wend
        If j > i Then
            aStrSort(i) = aStrSort(j)
            aStrSort(j) = temp
            i = i + 1
        End If
        While (aStrSort(i) < temp And j > i)
            i = i + 1
        Wend
        If j > i Then
            aStrSort(j) = aStrSort(i)
            aStrSort(i) = temp
            j = j - 1
        End If
    Loop
    If lngleft < i - 1 Then QuickSort aStrSort, lngleft, i - 1
    If lngright > i + 1 Then QuickSort aStrSort, i + 1, lngright
End Sub

'二分法查找算法(查找失败返回-1,数组下标从0开始)
Public Function BinSearch(ByRef strElement() As String, ByVal strKey As String) As Long
    Dim lngLow As Long
    Dim lngHigh As Long
    Dim lngMiddle As Long
    lngLow = 0
    lngHigh = UBound(strElement)
    While (lngLow <= lngHigh)
        lngMiddle = (lngLow + lngHigh) / 2
        If strElement(lngMiddle) = strKey Then
            BinSearch = lngMiddle
            Exit Function
        Else
            If strElement(lngMiddle) > strKey Then
                lngHigh = lngMiddle - 1
            Else
                lngLow = lngMiddle + 1
            End If
        End If
    Wend
    BinSearch = -1  '查找失败
End Function

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?