Demonstrating binary search of an array : Array Sort Reverse « Collections « VB.Net Tutorial






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








8.6.Array Sort Reverse
8.6.1.Reverse the contents of an array
8.6.2.Array Reverse and Sort
8.6.3.Array.BinarySearch
8.6.4.Array.Sort and Array.IndexOf
8.6.5.Linear search of an array
8.6.6.Demonstrating binary search of an array
8.6.7.Sort only part of the Array
8.6.8.Sort the values in an Array using the default comparer and a custom comparer that reverses the sort order.
8.6.9.Sort<(Of <(T>)>)(array[]()[]) and BinarySearch<(Of <(T>)>)(array[]()[], T)
8.6.10.Sort two associated arrays where the first array contains keys and the second array contains values
8.6.11.Determine the index of the first occurrence of a specified element.
8.6.12.Three generic overloads of the LastIndexOf method from Array