PHPで半減(二分)検索を実現
2304 ワード
<?php function binsearch($arr,$key){ $num = count($arr); $left = 0; $right = $num - 1; while ($left <= $right) { $mid = intval(($left + $right)/2); if($arr[$mid] == $key){ return $mid; } if($arr[$mid] > $key){ //key $right = $mid-1; } if($arr[$mid] < $key){ //key $left = $mid+1; } } return -1; } $arr = range(1,10); echo " 7:"; echo binsearch($arr,7); //$arr