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


Posted in PHP onFebruary 16, 2010
<?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, $k, $low, $mid-1); 
} 
else 
{ 
return search($array, $k, $mid+1, $high); 
} 
} 
return -1; 
} 
$array = array(4,5,7,8,9,10); //测试search函数 
echo search($array, 8); //调用search函数并输出查找结果 
?>
PHP 相关文章推荐
PHP.MVC的模板标签系统(二)
Sep 05 PHP
PHPMyadmin 配置文件详解(配置)
Dec 03 PHP
php excel reader读取excel内容存入数据库实现代码
Dec 06 PHP
跟我学Laravel之请求(Request)的生命周期
Oct 15 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
Nov 04 PHP
Discuz!X中SESSION机制实例详解
Sep 23 PHP
PHP记录页面停留时间的方法
Mar 30 PHP
PHP模块化安装教程
Jun 01 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 PHP
php 开发中加密的几种方法总结
Mar 22 PHP
php代码调试利器firephp安装与使用方法分析
Aug 21 PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 PHP
在字符串指定位置插入一段字符串的php代码
Feb 16 #PHP
GBK的页面输出JSON格式的php函数
Feb 16 #PHP
同台服务器使用缓存APC效率高于Memcached的演示代码
Feb 16 #PHP
用PHP ob_start()控制浏览器cache、生成html实现代码
Feb 16 #PHP
PHP IPV6正则表达式验证代码
Feb 16 #PHP
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
Feb 16 #PHP
PHP 截取字符串函数整理(支持gb2312和utf-8)
Feb 16 #PHP
You might like
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
2014/11/01 PHP
yii2多图上传组件的使用教程
2018/05/10 PHP
jquery自定义类似$.ajax()的方法实现代码
2013/08/13 Javascript
JavaScript 里的类数组对象
2015/04/08 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
JavaScript获取页面中超链接数量的方法
2015/11/09 Javascript
JavaScript中的冒泡排序法
2016/08/03 Javascript
JavaScript实现解析INI文件内容的方法
2016/11/17 Javascript
Bootstrap CSS组件之输入框组
2016/12/17 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
vue如何实现observer和watcher源码解析
2017/03/09 Javascript
vue.js选中动态绑定的radio的指定项
2017/06/02 Javascript
详解webpack自动生成html页面
2017/06/29 Javascript
react.js使用webpack搭配环境的入门教程
2017/08/14 Javascript
javascript 产生随机数的几种方法总结
2017/09/26 Javascript
基于JavaScript 性能优化技巧心得(分享)
2017/12/11 Javascript
vue组件挂载到全局方法的示例代码
2018/08/02 Javascript
JavaScript常见JSON操作实例分析
2018/08/08 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
vue实现鼠标经过动画
2019/10/16 Javascript
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
python使用装饰器和线程限制函数执行时间的方法
2015/04/18 Python
Django添加favicon.ico图标的示例代码
2018/08/07 Python
详解python-图像处理(映射变换)
2019/03/22 Python
浅谈Python中(&amp;,|)和(and,or)之间的区别
2019/08/07 Python
Python字符串的修改方法实例
2019/12/19 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
python实现猜拳游戏项目
2020/11/30 Python
UNOde50美国官网:西班牙珠宝品牌
2020/08/15 全球购物
合作意向书格式及范文
2014/03/31 职场文书
文言文辞职信
2015/02/28 职场文书
创业计划书之书店
2019/09/10 职场文书
JavaWeb Servlet开发注册页面实例
2022/04/11 Java/Android
MySQL三种方式实现递归查询
2022/04/18 MySQL
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL