object BinarySearch {
def binarySearch(array: Array[Int], element: Int, low: Int, high: Int): Int = {
var lowVar = low
var highVar = high
while (lowVar <= highVar) {
val mid = lowVar + (highVar - lowVar) / 2
if (array(mid) == element)
return mid
if (array(mid) < element)
lowVar = mid + 1
else
highVar = mid - 1
}
-1
}
def main(args: Array[String]): Unit = {
val array = Array(3, 4, 8, 9, 10, 17, 21, 28, 33, 36, 42)
val numberToFind = 21
val index = binarySearch(array, numberToFind, 0, array.length - 1)
if (index == -1)
println("Not found")
else
println(s"Found at index: $index")
}
}
/*
run:
Found at index: 6
*/