code217a.txt
来自「VB大全(精华版)源代码」· 文本 代码 · 共 40 行
TXT
40 行
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 + =
减小字号Ctrl + -
显示快捷键?