PHP - BinarySearch (Recursive method)
<?php
$data = [1,2,3,4,5,10,13,16,18,21,22,25];
$search = 10;
echo binarySearch($data, $search, 0, sizeof($data)-1);
function binarySearch($data, $search, $low, $high) {
if ($low > $high) return -1;
$mid = $low + (int) (($high - $low)/2);
if ($data[$mid] == $search) {
return $mid;
}
else if ($search > $data[$mid])
{
$low = $mid + 1;
return binarySearch($data, $search, $low, $high);
}
else {
$high = $mid -1;
return binarySearch($data, $search, $low, $high);
}
}
?>
|
run
| edit
| history
| help
|
2
|
|
|