package main
import (
"fmt"
)
func main(){
arr := [6]int{1,2,3,5,7}
BinaryFind(&arr,0,len(arr)-1,5)
}
// 二分查找,数组必须有序,下一次查找必须是:中间下标的后一个或前一个开始
func BinaryFind(arr *[6]int,leftIndex,rightIndex,findVal int){
if leftIndex > rightIndex {
fmt.Println("没找到")
return
}
midleIndex := (leftIndex + rightIndex)/2
if arr[midleIndex] > findVal {
BinaryFind(arr,leftIndex,midleIndex - 1,findVal)
}else if arr[midleIndex] < findVal {
BinaryFind(arr,midleIndex + 1,rightIndex,findVal)
}else{
fmt.Println("找到了:",midleIndex)
}
}