php 二分算法

版权声明:本文为博主原创文章,未经博主允许不得转载。 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);

echo binaryRecursive($arr, 0, count($arr)-1,23);

ps:个人记录用,不喜勿喷

猜你喜欢

转载自blog.csdn.net/yangshuainan/article/details/77775432