📄 code217a.txt
字号:
Private Function Binary_Search(ByRef SrchArr() As Integer, ByVal _
Value As Integer) As Integer
Dim Found As Boolean, High As Integer, Low As Integer
Dim Mid As Integer
Found = False
High = Ubound(SrchArr)
Low = 0
Mid = (High + Low) / 2
Debug.Print
Debug.Print "Looking for: "; Value
Do While Not Found And (High >= Low)
Debug.Print "Low: "; Low; " Mid: " ; Mid ; " High: "; High
If Value = SrchArr(Mid) Then
Found = True
ElseIf Value < SrchArr(Mid) Then
High = Mid - 1
Else
Low = Mid + 1
End If
Mid = (High + Low) / 2
If Not Found Then
Binary_Search = -1
Else
Binary_Search = Mid
End If
Loop
End Function
Public Sub Main()
Dim intArray(99) As Integer, I as Integer
For I = 0 to 99
intArray(I) = I
Next
Debug.Print "Result of search ", Binary_Search(intArray, 33)
Debug.Print "Result of search ", Binary_Search(intArray, 75)
Debug.Print "Result of search ", Binary_Search(intArray, 1)
Debug.Print "Result of search ", Binary_Search(intArray, 1001)
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -