Tag - 二分查找

算法 二分查找    2018-12-20 20:22:00    258    0    0
  1. //二分查找,data为由小到大排序的数组,target为要找的目标值
  2. func BinarySearch(data []int, target int) int {
  3. min := 0
  4. max := len(data)
  5. for min <= max {
  6. cur := (min + max) / 2
  7. println(min, cur, max, target, data[cur])
  8. if target == data[cur] {
  9. return cur
  10. } else if target < data[cur] {
  11. max = cur - 1
  12. } else {
  13. min = cur + 1
  14. }
  15. }
  16. return -1
  17. }