加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php 数组二分法查找函数代码

发布时间:2020-12-13 05:39:43 所属栏目: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为查找范围的最

<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函数并输出查找结果
?>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读