fun binarySearch(array: IntArray, element: Int, low: Int, high: Int): Int {
var low = low
var high = high
while (low <= high) {
val mid = low + (high - low) / 2
if (array[mid] == element)
return mid
if (array[mid] < element)
low = mid + 1
else
high = mid - 1
}
return -1
}
fun main() {
val array = intArrayOf(3, 4, 8, 9, 10, 17, 21, 28, 33, 36, 42)
val numberToFind = 21
val index = binarySearch(array, numberToFind, 0, array.size - 1)
if (index == -1)
println("Not found")
else
println("Found at index: $index")
}
/*
run:
Found at index: 6
*/