用VB方法求用递归调用实现二分法
二分法不用递归就可以了,非要用递归的话 假设a(i)为从小到大排列的数组,K为所要查找的关键值,L为数组下标的下限,U为上限private function Find(L as integer,U as integer)as integer dim i as integer if U-L=0 then msgbox("所查关键值K不存在!") i=(L+U)/2 if K=a(i) then Find=i exit function elseif K<a(i) then U=i else L=i endif Find=Find(L,U) end function。 全部
二分法不用递归就可以了,非要用递归的话 假设a(i)为从小到大排列的数组,K为所要查找的关键值,L为数组下标的下限,U为上限private function Find(L as integer,U as integer)as integer dim i as integer if U-L=0 then msgbox("所查关键值K不存在!") i=(L+U)/2 if K=a(i) then Find=i exit function elseif K<a(i) then U=i else L=i endif Find=Find(L,U) end function。
收起