二分查找法(go版)

原创
2021/06/21 23:28
阅读数 62

二分查找法的demo

//go二分查找法(查找目标值在数组中的位置)
//目标数组是一个有序的数组
//思路:每次确定中位数,并比较大小,再确定下次比较的边界。
func Dichotomy(target int, source []int) int {
	//要查找的元素
	left := 0
	right := len(source) - 1
	for left <= right {
		mid := left + (right-left)/2
		//fmt.Println("中位数:", mid)
		if source[mid] == target {
			return mid
		}
		if target < source[mid] {
			right = mid - 1
			continue
		}
		if target > source[mid] {
			left = mid + 1
			continue
		}
	}
	return -1
}
展开阅读全文
go
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部