我知道Go有一个sort包含搜索功能的包,但这是出于教育目的.我一直在尝试在Go中实现二进制搜索算法,但我无法让它工作.
这是我的代码:
package main
import "fmt"
func BinarySearch(data []int, target int, low int, high int) (index int, found bool) {
mid := (high + low) / 2
if low > high {
index = -1
found = false
} else {
if target < data[mid] {
BinarySearch(data, target, low, mid - 1)
} else if target > data[mid] {
BinarySearch(data, target, mid + 1, high)
} else if target == data[mid] {
index = mid
found = true …Run Code Online (Sandbox Code Playgroud)