编辑
2023-08-20
算法
00
请注意,本文编写于 1058 天前,最后修改于 849 天前,其中某些信息可能已经过时。
golang
package main import ( "fmt" ) // binarySearch 实现二分查找算法 func binarySearch(arr []int, target int) int { low := 0 high := len(arr) - 1 for low <= high { mid := (low + high) / 2 // 如果目标值等于中间值,则返回中间值的索引 if arr[mid] == target { return mid } // 如果目标值小于中间值,则在左半边继续搜索 if arr[mid] > target { high = mid - 1 } else { // 如果目标值大于中间值,则在右半边继续搜索 low = mid + 1 } } // 如果未找到目标值,则返回 -1 return -1 } func main() { arr := []int{1, 3, 5, 7, 9, 11, 13, 15} target := 9 result := binarySearch(arr, target) if result != -1 { fmt.Printf("目标值 %d 在数组中的索引为 %d\n", target, result) } else { fmt.Printf("目标值 %d 不在数组中\n", target) } }

本文作者:severloh

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!