• 技术文章 >后端开发 >PHP问题

    php如何实现二分查找

    coldplay.xixicoldplay.xixi2021-02-20 16:49:53原创189

    php实现二分查找的方法:首先以数组中某个值为界;然后再递归进行查找,直到结束,代码为【if ($low <= $high){$mid = intval(($low+$high)/2);if ($array[$mid] == $k)】。

    本教程操作环境:windows7系统、PHP5.6版,DELL G3电脑,该方法适用于所有品牌电脑。

    php实现二分查找的方法:

    思路:以数组中某个值为界,再递归进行查找,直到结束。

    代码一

    <?php
    function find($array, $low, $high, $k){
      if ($low <= $high){
      $mid = intval(($low+$high)/2);
        if ($array[$mid] == $k){
        return $mid;
      }elseif ($k < $array[$mid]){
        return find($array, $low, $mid-1, $k);
        }else{
        return find($array, $mid+1, $high, $k);
        }
      }
      die('Not have...');
    }
    //test
    $array = array(2,4,3,5);
    $n = count($array);
    $r = find($array,0,$n,5)

    1、想最后的临界情况:第13行,return false果然是写在这里,我没有想错

    2、die的用法:第13行,die终结程序

    相关视频推荐:PHP编程从入门到精通

    以上就是php如何实现二分查找的详细内容,更多请关注php中文网其它相关文章!

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!
    专题推荐:php 二分查找
    上一篇:php魔术方法的作用是什么 下一篇:php为什么设置session_id
    第15期线上培训班

    相关文章推荐

    • 关于JS二分查找算法及代码的分享• php实现的二分查找算法实例详解• Python递归函数,二分查找算法简介• PHP查找一列有序数组是否包含某值(二分查找)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网