PHP二分查找法

warning: 这篇文章距离上次修改已过775天,其中的内容可能已经有所变动。
$array = array(11,3,56,62,21,66,32,78,36,76,39,88,34);
$target = 32;
$beg = 0;
$end = count($array) - 1;
// 二分查找算法,指定数字里面的键是多少
function binSearch($array, $beg, $end, $target)
{
    if ($beg <= $end){
        var_dump($beg, $end);echo "\n";
        $mid =  intval(($beg+$end)/2 );
        if ($array[$mid] ==  $target){
            return $mid;
        }elseif ($target <= $array[$mid]){
            return binSearch($array, $beg,  $mid-1, $target);
        }else{
            return binSearch($array,$mid+1, $end-1, $target);
        }
    }
    return false;
}
$find = binSearch($array, $beg, $end, $target);
var_dump($find);
PHP
最后修改于:2022年04月06日 15:46

添加新评论