一、前言
二分查找的前提
有序的数组
大致思路
先和中间数对比,若和中间不等,且小于中间数,则在左边查找,反之在右侧查找
二、代码实现
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;
}
还不快抢沙发