一、前言

二分查找的前提

有序的数组

大致思路

先和中间数对比,若和中间不等,且小于中间数,则在左边查找,反之在右侧查找

二、代码实现

function search($data ,$search){
    $low = 0;
    $high = count($data) - 1;
    while( $low <= $high ){
        $mid = floor( ($low + $high) / 2 );
        if( $data[$mid] == $search ){
            return $mid;
        }
        if( $data[$mid] > $search ){
            $high = $mid - 1;
        }
        if($data[$mid] < $search){
            $low = $mid + 1;
        }
    }
    return -1;
}

本文由 一切随风 创作,可自由转载、引用,但需署名作者且注明文章出处。

6 条评论

  1. a0gz.cn
    a0gz.cn

    汀山市场小妹几点出来服务a0hk.cn

  2. 鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099
    鍗庣撼鍏徃鍚堜綔寮€鎴锋墍闇€鏉愭枡锛熺數璇濆彿鐮?5587291507 寰俊STS5099

    华纳总公司开户申请步骤?(▲18288362750?《?微信STS5099? 】【╃q 2704132802╃】

  3. pndrsuhvtb
    pndrsuhvtb

    唤醒

  4. taufvqrmhr
    taufvqrmhr

    美国国家公园第二季

  5. rypvdcwuca
    rypvdcwuca

    家族史之谜埋葬的过去

  6. nlriqopjnf
    nlriqopjnf

    狼人杀启源

添加新评论