(选考)漫画:什么是对分查找(二分查找)?
Case 1:
Case 2:
————————————
第一次我们选择500,发现偏大了,
那么下一次的选择范围,就变成了1到499:
第二次我们选择250,发现还是偏大了,
那么下一次的选择范围,就变成了1到249:
第三次我们选择125,发现偏小了,
那么下一次的选择范围,就变成了126到249:
key = Val(Text1.Text) '表示要查找的数find = False '查找的结果,若find=true表示找到,find=false表示未找到i = 1 '查找的起始范围j = n '查找的终点范围Do While i <= j And Not find '如果还未找完并且未找到m = (i + j) \ 2 '计算中点位置mIf key = d(m) Then '表示找到的情况find = TrueText2.Text = "找到!位置为:" + Str(m)End IfIf key > d(m) Then '表示查找的数比中间位置上的数大时i = m + 1Else '表示查找的数比中间位置上的数小时j = m - 1End IfLoopIf Not find Then Text2.Text = "未找到!"
—————END—————
