php 数组二分法查找函数代码
分类:PHP作者:编程之家
<div class="codetitle"><a style="CURSOR: pointer" data="96783" class="copybut" id="copybut96783" onclick="doCopy('code96783')"> 代码如下:
<div class="codebody" id="code96783">
<?
PHP //search
函数 其中$array为数组,$k为要找的值,$low为查找范围的最小键值,$high为查找范围的最大键值
function search($array,$k,$low=0,$high=0)
{
if(count($array)!=0 and $high == 0) //判断是否为第一次
调用 {
$high = count($array);
}
if($low <= $high) //如果还存在剩余的数组元素
{
$mid = intval(($low+$high)/2); //取$low和$high的中间值
if ($array[$mid] == $k) //如果找到则返回
{
return $mid;
}
elseif ($k < $array[$mid]) //如果没有找到,则继续查找
{
return search($array,$low,$mid-1);
}
else
{
return search($array,$mid+1,$high);
}
}
return -1;
}
$array = array(4,5,7,8,9,10); //测试search
函数 echo search($array,8); //
调用search
函数并
输出查找结果
?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。