package main
import "fmt"
func binarySearch(arr []int, s int, index int) (int, bool) {
var leftPointer = 0
var ret int
var found bool
var rightPointer = len(arr) - 1
if leftPointer != rightPointer {
var midPointer = int((leftPointer + rightPointer) / 2)
var midValue = arr[midPointer]
if midValue == s {
ret = midPointer + index
found = true
} else if midValue < s {
ret, found = binarySearch(arr[midPointer:rightPointer], s, midPointer)
} else {
ret, found = binarySearch(arr[leftPointer:midPointer], s, index)
}
if found == false {
return -1, false
}
}
return ret, true
}
func main() {
var n = []int{2, 9, 11, 21, 22, 32, 36, 48, 76}
ret, found := binarySearch(n, 32, 0)
if found == true {
fmt.Println("Found : ", n[ret])
}else{
fmt.Println("Not found" )
}
}
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
This could be a lot faster for Binary search.