PHP数组 第8章 查找 PHP数组 第8章 查找

2023-07-28

一、顺序查找

https://file.lulublog.cn/images/3/2022/08/DGh27hmBVOOZ77o5qJCC4gm0eOHT7v.jpg

二、二分查找

①、基本概念

前提,数组本身已经是有序数组了

首先找到数组中间的数,若要查找的数大于中间的数,则应向后查找,否则向前查找。

②、代码

function binarySearch(&$arr,$findlVal,$leftInde,$rightIndex)
{
    //当$leftIndex > $rightIndex 说明没有数了
    if($leftIndex > $rightIndex){
        return "找不到该数";
    }
    //找到中间的数
    $middleIndex = round(($leftIndex + $rightIndex)/2);
    //如果大于则往后面查找
    if($findVal > $arr[$middleIndex]){
        bingarySearch($arr,$findVal,$middleIndex+1,$rightIndex);
    }
    //如果小于则往前面查找
    if($findVal < $arr[$middleIndex]){
        bingarySearch($arr,$findVal,$leftIndx,$middleIndex-1);
    }else{
        return "找到这个数,下标=$middleIndex";
    }
}
阅读 491