//二分法查找
package main
import "fmt"
func find(arr[]int,val int)int{
if arr==nil{
return -1
}
low:=0
high:=len(arr)-1
for low<=high{
mid:=(low+high)/2
if arr[mid]==val{
return mid
}else if arr[mid]>val{
high=mid-1
}else{
low=mid+1
}
}
return -1
}
func main(){
arr:=[]int{-6,0,1,10, 35, 35, 36, 55, 61, 89}
result:=find(arr,36)
fmt.Println(result,arr[result]) //6,36
}
golang实现二分法查找
于 2020-03-31 13:21:54 首次发布