写一个二分查找算法 用PHP实现
时间: 2023-04-03 08:01:42 浏览: 107
好的,我可以回答这个问题。二分查找算法是一种高效的查找算法,可以在有序数组中快速查找指定元素。以下是用 PHP 实现的二分查找算法:
```
function binarySearch($arr, $target) {
$left = ;
$right = count($arr) - 1;
while ($left <= $right) {
$mid = floor(($left + $right) / 2);
if ($arr[$mid] == $target) {
return $mid;
} elseif ($arr[$mid] < $target) {
$left = $mid + 1;
} else {
$right = $mid - 1;
}
}
return -1;
}
```
这个函数接受一个有序数组和一个目标元素作为参数,返回目标元素在数组中的索引,如果目标元素不存在于数组中,则返回 -1。
相关问题
用PHP写一段二分查找算法
好的,以下是用 PHP 实现的二分查找算法代码:
```
<?php
function binary_search($array, $target) {
$left = 0;
$right = count($array) - 1;
while ($left <= $right) {
$middle = intval(($left + $right) / 2);
if ($array[$middle] == $target) {
return $middle;
} elseif ($array[$middle] < $target) {
$left = $middle + 1;
} else {
$right = $middle - 1;
}
}
return -1;
}
$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
$target = 5;
$index = binary_search($array, $target);
if ($index != -1) {
echo "在数组中找到了目标值,位置为:" . $index;
} else {
echo "未在数组中找到目标值";
}
```
该代码使用二分查找算法在给定数组中查找目标值,如果找到目标值,则返回其索引;否则返回 -1。
阅读全文