您现在的位置是:首页 > PHP技术PHP技术

php中使用二分法查找某个值

2017-08-10【PHP技术】1429 人已围观

简介 经常在QQ的PHP技术群里看到有人讨论PHP面试的话题,PHP的二分法出现频率很高,今天我们来说说PHP二分法的实现例子 已知一个数...

   经常在QQ的PHP技术群里看到有人讨论PHP面试的话题,PHP的二分法出现频率很高,今天我们来说说PHP二分法的实现例子

已知一个数组里包含N个数字,使用二分法查出该数据

//声明一个数组

$data = [2,3,4,5];

//获取数组长度

$len = count($data)-1;

2.开始实现代码

 

 

/**

 * @param $start 开始位置

 * @param $len 数组长度

 * @param $data 要查询的数组

 * @param $value 要查询的值

 * @return bool|float 成功返回查询到的值,否则返回false

 */

function search($start, $len, $data,$search)

{

    while($start <= $len )

    {

        $mid = floor(($start + $len)/2);

        if($data[$mid] == $search){

            return $mid;

        }elseif ($data[$mid] < $search){

            $start = $mid+1;

        }else{

            $len = $mid-1;

        }

    }

    return false;

}

3.调用方法查找值为5的

echo search(0, $len, $data,5);

输出结果为:3



关注宁波网站建设博客,更多精彩分享,敬请期待!
 

Tags:

很赞哦! ()

文章评论

点击排行

本站推荐

站点信息