Mega Code Archive

 
Categories / VB.Net Tutorial / Collections
 

Demonstrating binary search of an array

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 Found value in element 4