PHP算法-二分法查找_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > PHP算法-二分法查找

PHP算法-二分法查找

 2017/9/1 8:08:48  erntoo  程序员俱乐部  我要评论(0)
  • 摘要:***二分法查找*在有序数组中查询**@paramint$needle*@paramarray$arr*/functiondichotomize_search($needle,$arr){$count=count($arr);if($count<1){returnfalse;}if($count==1){if($count==$needle){return0;}else{returnfalse;}}$first=0;$last=$count-1;while($first<
  • 标签:PHP 查找 算法
class="php" name="code">**
 * 二分法查找
 * 在有序数组中查询
 *
 * @param int $needle            
 * @param array $arr            
 */
function dichotomize_search($needle, $arr)
{
    $count = count($arr);
    if ($count < 1) {
        return false;
    }
    if ($count == 1) {
        if ($count == $needle) {
            return 0;
        } else {
            return false;
        }
    }
    $first = 0;
    $last = $count - 1;
    
    while ($first <= $last) {
        $mid = floor(($first + $last) / 2);
        if ($arr[$mid] > $needle) {
            $last = $mid - 1;
        } else 
            if ($arr[$mid] < $needle) {
                $first = $mid - 1;
            } else {
                return $mid;
            }
    }
    return false;
}

?

上一篇: PHP算法-冒泡排序 下一篇: 没有下一篇了!
发表评论
用户名: 匿名