一、顺序查找
二、二分查找
①、基本概念
前提,数组本身已经是有序数组了
首先找到数组中间的数,若要查找的数大于中间的数,则应向后查找,否则向前查找。
②、代码
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";
}
}