i = 1: j = n
Do While i <= j
m = (i + j) \ 2
If a(m) = Key Then
Label1.Caption = Str(m)
Exit Do
ElseIf Key < a(m) Then
j = m - 1
Else
i = m + 1
End If
Loop
变量说明:
key:待查找数据
数组a:受查找数据池
m:左偏中间值下标
i,j:左右查找指针
当i>j时说明已完成全数组查找,未找到key
若中途找到就会中断循环