您的位置:首页 > 编程语言 > PHP开发

php二分查找算法

2016-01-11 17:08 537 查看
function binarySearch($arr,$target){

$low = 0;

      $high = count($arr)-1;

      while($low<=$high){

          $mid = intval(($low+$high)/2);

  #找到元素

      if ($arr[$mid]) == $target) return $mid;

#中元素比目标大,查找左部

          if ($arr[$mid] > $target) $high = $mid-1;

#中元素比目标小,查找右部

          if ($arr[$mid] < $target) $low = $mid+1;

            }  

   

           #查找失败

        return false;

}

     $arr = array(1, 3, 5, 7, 9, 11);

     $inx = binarySearch($arr, 1);

     var_dump($inx);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: