🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
* 有序表查找:二分查找(静态查找, 没有重复数据) * (选取中位数和要查找的数进行比较) ~~~ package main import ( "fmt" "math/rand" "sort" ) //TODO : 二分查找(静态查找) func BinarySearch(list []int, low, high, v int) (k int) { if low > high { return -1 } mid := (low + high) / 2 if list[mid-1] > v { return BinarySearch(list, low, mid-1, v) } else if list[mid-1] < v { return BinarySearch(list, mid+1, high, v) } else { return mid - 1 } } func main() { //TODO : 生成数据 //rand.Seed(time.Now().Unix()) number := make([]int, 100, 1000000) for k, _ := range number { number[k] = rand.Intn(1000000) } sort.Ints(number) //TODO : 有序表查找:二分查找(静态查找, 没有重复数据) fmt.Println(BinarySearch(number, 1, len(number), 66831)) //fmt.Println(number) } ~~~