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

PHP基于二分法实现数组查找成果示例【轮回与递归算法】

发布时间:2021-03-31 21:14:28 所属栏目:编程 来源:网络整理
导读:本篇章节讲授PHP基于二分法实现数组查找成果。分享给各人供各人参考,详细如下: 二分法。别离行使while轮回的要领和递归挪用的要领。 $high) {// 先判定竣事前提 return -1; } $i = intval(($high + $low)/2); if ($arr[$i] > $v){ return bsearch_r($v,$

本篇章节讲授PHP基于二分法实现数组查找成果。分享给各人供各人参考,详细如下:

二分法。别离行使while轮回的要领和递归挪用的要领。

$high) {// 先判定竣事前提 return -1; } $i = intval(($high + $low)/2); if ($arr[$i] > $v){ return bsearch_r($v,$i-1);// 递归 } else if ($arr[$i] < $v){ return bsearch_r($v,$i+1,$high); } else { return $i; } } echo bsearch_r(1,count($arr)-1);// 0 echo '
'; echo bsearch_r(14,count($arr)-1);// -1 echo '
'; // while轮回 function bsearch($v,$arr){ $low = 0; $high = count($arr)-1;// 行使下标,留意减去1 // 留意往往行使到while的时辰,必然要预防无穷轮回的时辰,留意终止轮回的判定。 while($low <= $high){// 好比$low<=$high,这个便是号必需有。 $i = intval(($high + $low)/2); if ($arr[$i] > $v){ $high = $i-1; } else if ($arr[$i] < $v){ $low = $i+1; } else { return $i; } } return -1;// 找不到的时辰返回-1 } echo bsearch(13,$arr);// 5 echo '
'; echo bsearch(14,$arr);// -1

运行功效:

PHP基于二分法实现数组查找成果示例【轮回与递归算法】

更多关于PHP相干内容感乐趣的读者可查察本站专题:《》、《》、《》、《》、《》及《》

但愿本文所述对各人PHP措施计划有所辅佐。

(编辑:湖南网)

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

    热点阅读