Search
原型:func Search(n int, f func(int) bool) int
解释:go
内置的二分查找。对于一个已经排序切片,返回在 之间满足 f(i)
为 ture
的最小下标 i
(最小为 0
,最大为 n
)。
package main
import (
"fmt"
"sort"
)
func main() {
nums := []int{7, 8, 10, 12, 13}
fmt.Println(sort.Search(len(nums), func(i int) bool {
return nums[i] > 10
})) // 输出 3,第一个大于 10 的数是 12
fmt.Println(sort.Search(len(nums), func(i int) bool {
return nums[i] > 13
})) // 输出 5,因为找不到
}