php 二分查找
博客专区 > rhythmk 的博客 > 博客详情
php 二分查找
rhythmk 发表于2年前
php 二分查找
  • 发表于 2年前
  • 阅读 6
  • 收藏 0
  • 点赞 1
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

二分查找需要查找的集合对象为有序队列。

 function  binarySearch(Array $arr,$key)
   {
        $len=count($arr);
        if($len==0)
            return false;
        $begin=0;
        $end=$len-1;
       
        //如果查找的值为集合首元素则$begin,$end将=
        while ( $begin <= $end) {

          $mid=floor(($begin+$end)/2);
          if($arr[$mid]==$key){
               return  $arr[$mid];
	      }
	      if($arr[$mid]<$key){
	        $begin=$mid +1;
	      }
	      if($arr[$mid]>$key){
	         $end=$mid-1;
	      }
       }
        return false;
  }
 $arr=[3,4,6,7,8,10,11,55,67];
 $result=binarySearch($arr,4);
 var_dump($result);
共有 人打赏支持
粉丝 1
博文 62
码字总数 40987
×
rhythmk
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: