<?php
//二分法查找 前提条件是 数组必须是有序的
$arr = array(-3,-1,0,6,9,78,100);
//二分法查找
function search(&$arr,$findVal,$leftIndex,$rightIndex){
if($leftIndex>$rightIndex){
echo '找不到!';
return ;
}
$middle = round(($leftIndex+$rightIndex)/2);//中间的下标
if($findVal > $arr[$middle]){//查找的数大于中间的数值
search(&$arr,$findVal,$middle+1,$rightIndex);
}else if($findVal < $arr[$middle]){
search(&$arr,$findVal,$leftIndex,$middle-1);
}else{
echo '找到了,下标是:'.$middle;
}
}
search($arr,7,0,count($arr)-1);
?>
二分法查找
最新推荐文章于 2025-07-25 17:03:51 发布