fun recursiveBinarySearch(arr: IntArray, left: Int, right: Int, toFind: Int): Int {
if (right >= left) {
val mid = left + (right - left) / 2
if (arr[mid] == toFind) {
return mid
}
if (arr[mid] > toFind) {
return recursiveBinarySearch(arr, left, mid - 1, toFind)
}
return recursiveBinarySearch(arr, mid + 1, right, toFind)
}
return -1
}
fun main() {
val arr = intArrayOf(2, 3, 6, 7, 12, 13, 17, 19, 21, 30, 32, 45)
val toFind = 17
val index = recursiveBinarySearch(arr, 0, arr.size - 1, toFind)
if (index == -1) {
println("not found")
} else {
println("Found at index: $index")
}
}
/*
run:
Found at index: 6
*/