为了账号安全,请及时绑定邮箱和手机立即绑定

关于二分查找法?

关于二分查找法?

错过了年华 2017-03-06 21:02:46
function binarySearch(&$arr,$findVal,$start,$end)  //1 { if($end<$start) { echo "找不到该数"; } $mid = round(($end+$start)/2); if($findVal>$arr[$mid]) { binarySearch($arr,$findVal,$mid+1,$end); } else if($findVal<$arr[$mid]) { binarySearch($arr,$findVal,$start,$mid-1); } else { echo "找到这个数,下标是$mid"; } } $arr = array(2,3,5,8,9); echo binarySearch($arr,3,0,count($arr)-1);   &起到什么作用?  $mid为什么要加1减1?
查看完整描述

1 回答

已采纳
?
习惯受伤

TA贡献885条经验 获得超1144个赞

1、PHP中&(地址符)和C/c++中的地址符一致,也就是说是引用传递。函数内参数的任何改变都能改变实际传递给函数的变量值。

2、+1,-1就是从中间往两边查找,所以叫了个二分法查找。

查看完整回答
1 反对 回复 2017-03-06
  • 1 回答
  • 0 关注
  • 1253 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信