PHP代码实现二分法查找

时间:2020-01-06 20:57:39   收藏:0   阅读:79
<?php
class test
{
    public function halfsearch($arr,$target)
    {
        $min = 0;
        $max = count($arr);
        $mid = floor(($min+$max) / 2);

        while(true){
            if($target > $arr[$mid]){
                $min = $mid + 1;
            }elseif($target < $arr[$mid]){
                $max = $mid -1;
            }else{
                return $mid;
            }

            if($max < $min){
                return -1;
            }

            $mid = floor(($min + $max) / 2);
        }
    }
}


    $abc = new test();
    $arr = [1,2,3,4,5,6,7,8,9,10];
    $array = $abc->halfsearch($arr,1);
    echo $array;
?>

原文:https://www.cnblogs.com/Mr-Echo/p/12157749.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!