版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangshuainan/article/details/77775432
//$arr是要查的数组,$low是最小值的下标,$top是最大值的下标,$target是要查询的值
function binaryRecursive(&$arr,$low,$top,$target){
if($low<=$top)
{
$mid = ceil(($low+$top)/2);
if($arr[$mid]==$target)
{
return $mid;
}elseif($arr[$mid]<$target)
{
return binaryRecursive($arr,$mid+1,$top,$target);
}else
{
return binaryRecursive($arr,$low,$mid-1,$target);
}
}else{
return '不在里面';
}
}
$arr = array(3,9,23,54,1111,11111111,55555555);
//sizeof($arr);
function binaryRecursive(&$arr,$low,$top,$target){
if($low<=$top)
{
$mid = ceil(($low+$top)/2);
if($arr[$mid]==$target)
{
return $mid;
}elseif($arr[$mid]<$target)
{
return binaryRecursive($arr,$mid+1,$top,$target);
}else
{
return binaryRecursive($arr,$low,$mid-1,$target);
}
}else{
return '不在里面';
}
}
$arr = array(3,9,23,54,1111,11111111,55555555);
//sizeof($arr);
echo binaryRecursive($arr, 0, count($arr)-1,23);
ps:个人记录用,不喜勿喷