package main
import "fmt"
func binarySearch(arr []int, value int, low int, high int) int {
if high < low {
return -1
}
mid := (low + high) / 2
if arr[mid] > value {
return binarySearch(arr, value, low, mid - 1)
} else if arr[mid] < value {
return binarySearch(arr, value, mid + 1, high)
}
return mid
}
func main() {
arr := []int{0, 4, 5, 7, 8, 19, 20, 23, 27}
fmt.Printf("%d", binarySearch(arr, 5, 0, 9))
}
/*
run:
2
*/