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)
}
}
最后
以上就是动人滑板最近收集整理的关于go语言实现二分查找的全部内容,更多相关go语言实现二分查找内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复