二分查找

来源:互联网 发布:阿里云服务器更换账号 编辑:程序博客网 时间:2024/06/15 08:45
//二分查找function binarySearch(&$arr,$findVal,$leftIndex=0,$rightIndex=""){if($rightIndex==NULL){$rightIndex=count($arr);}//当$rightIndex>$leftIndex说明没有找到if($rightIndex<$leftIndex){echo "找不到该数";return ;}//找到中间这个数$middleIndex=round(($rightIndex+$leftIndex)/2);//如果大于则向后面找if($findVal>$arr[$middleIndex]){binarySearch($arr, $findVal, $middleIndex+1, $rightIndex);}else if($findVal<$arr[$middleIndex]){binarySearch($arr, $findVal, $leftIndex, $middleIndex-1);}else{echo "找到了  下标为{$middleIndex}";}}$arr=array(1,2,3,4,5,6,33,444);echo binarySearch($arr, 6,3,4);

原创粉丝点击