📄 sort.txt
字号:
快速排序算法(递归算法)
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -