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中的CMS的涵义
Mar 11 PHP
php 错误处理经验分享
Oct 11 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
May 06 PHP
如何用php获取文件名后缀
Jun 09 PHP
PHP的curl实现get,post和cookie(实例介绍)
Jun 17 PHP
php中读写文件与读写数据库的效率比较分享
Oct 19 PHP
php中判断数组相等的方法以及数组运算符介绍
Mar 30 PHP
php和editplus正则表达式去除空白行
Apr 17 PHP
PHP完全二叉树定义与实现方法示例
Oct 09 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
详解PHP版本兼容之openssl调用参数
Jul 25 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 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
Session的工作方式
2006/10/09 PHP
在PHP中使用反射技术的架构插件使用说明
2010/05/18 PHP
php如何实现只替换一次或N次
2015/10/29 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
PHP标准库(PHP SPL)详解
2019/03/16 PHP
用javascript编写的第一人称射击游戏
2007/02/25 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
JS等比例缩小图片尺寸的实例
2013/02/27 Javascript
php跨域调用json的例子
2013/11/13 Javascript
再谈javascript原型继承
2014/11/10 Javascript
jQuery表单验证功能实例
2015/08/28 Javascript
JavaScript实现的多种鼠标拖放效果
2015/11/03 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
深入理解ES7的async/await的用法
2017/09/09 Javascript
Vue-Router2.X多种路由实现方式总结
2018/02/09 Javascript
vue父组件向子组件传递多个数据的实例
2018/03/01 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
vue spa应用中的路由缓存问题与解决方案
2019/05/31 Javascript
你准备好迎接vue3.0了吗
2020/04/28 Javascript
jquery实现手风琴案例
2020/05/04 jQuery
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
用pickle存储Python的原生对象方法
2017/04/28 Python
Python中判断输入是否为数字的实现代码
2018/05/26 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
在Matplotlib图中插入LaTex公式实例
2020/04/17 Python
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
IE9下html5初试小刀
2010/09/21 HTML / CSS
HTML5中indexedDB 数据库的使用实例
2017/05/11 HTML / CSS
汇集了世界上最好的天然和有机美容产品:LoveLula
2018/02/05 全球购物
阿根廷在线宠物商店:Puppis
2018/03/23 全球购物
警告通知
2015/04/25 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书