Public Class Tester
Dim Shared array1 As Integer() = New Integer(14) {}
Public Shared Sub Main
Dim i As Integer
For i = 0 To array1.GetUpperBound(0)
array1(i) = 2 * i
Next
Dim searchKey As Integer = 8
Dim element As Integer = BinarySearch(array1, searchKey)
If element <> -1 Then
Console.WriteLine("Found value in element " & element)
Else
Console.WriteLine("Value not found")
End If
End Sub
' performs binary search
Shared Function BinarySearch(ByVal array As Integer(), _
ByVal key As Integer) As Integer
Dim low As Integer = 0 ' low index
Dim high As Integer = array.GetUpperBound(0) ' high index
Dim middle As Integer ' middle index
While low <= high
middle = (low + high) \ 2
If key = array(middle) Then ' match
Return middle
ElseIf key < array(middle) Then ' search low end
high = middle - 1 ' of array
Else
low = middle + 1
End If
End While
Return -1 ' search key not found
End Function ' BinarySearch
End Class
|