图解算法第一章二分查找使用PHP实现,仅供参考,错误之处,欢迎联系我纠正
<?php
function binary_search($list,$x){
$start = 0;
$end = count( $list ) - 1;
while( $start <= $end ) {
$mid = intval( ( $start + $end ) / 2 );
if ( $list[ $mid ] == $x ) {
return $mid;
}
if ( $list[ $mid ] < $x ) {
$start = $mid + 1;
} else {
$end = $mid -1;
}
}
echo "该值不存在于数组中";
}
$input = 4 ;
$list = [1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 ];
echo "已查找到元素,元素index为:".binary_search( $list , $input );