例如 :13 44 77 90 127 189 242 3549
(1)定义一个变量key用于存放要查找的数字242
key = 242
(2) 定义变量low、mid和high分别存储数组的最小下标、中间下标和最大下标。并有:
mid = (low+hight)/2 = (0 + 7)/2 = 3
(3)此时a[3] = 90, 而key > 90,说明了242在90的右边,则往后查找:
low = mid + 1 = 4
(4)然后冲新重新定义mid
mid = (4 + 7)/2 = 5
(5)此时a[5] = 189, 而key > 189,说明242在189的右边,继续往后查找:
low = mid + 1 = 6
(6)然后重新更新mid:
mid = (6 + 7) = 6
(7)此时a[6] = 242,找到了
再找一下key = 77:
(1)key = 77, mid = (low + high)/2 = (0+7)/2 = 3
(2) 此时 a[3] = 90,而key < 90,说明了77在90的左边,则往前查找:
high = mid -1 = 2
(3)然后重新更新mid: