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高级OOP技术演示
Aug 27 PHP
php access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
PHP开发者常犯的10个MySQL错误更正剖析
Jan 30 PHP
php中将汉字转换成拼音的函数代码
Sep 08 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
Jun 30 PHP
PHP使用feof()函数读文件的方法
Nov 07 PHP
Web程序工作原理详解
Dec 25 PHP
thinkPHP删除前弹出确认框的简单实现方法
May 16 PHP
php微信开发之图片回复功能
Jun 14 PHP
Laravel推荐使用的十个辅助函数
May 10 PHP
PHP pthreads v3下worker和pool的使用方法示例
Feb 21 PHP
一文搞懂php的垃圾回收机制
Jun 18 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
转PHP手册及PHP编程标准
2006/12/17 PHP
让PHP支持页面回退的两种方法[转]
2007/02/14 PHP
php数组合并与拆分实例分析
2015/06/12 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
2016/05/17 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
2007/12/23 Javascript
prototype 中文参数乱码解决方案
2009/11/09 Javascript
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
js图片翻书效果代码分享
2015/08/20 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
Bootstrap select下拉联动(jQuery cxselect)
2017/01/04 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
jQuery+PHP+Mysql实现抽奖程序
2020/04/12 jQuery
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
深入理解令牌认证机制(token)
2019/08/22 Javascript
vue 二维码长按保存和复制内容操作
2020/09/22 Javascript
如何使用gpu.js改善JavaScript的性能
2020/12/01 Javascript
python3使用tkinter实现ui界面简单实例
2014/01/10 Python
Python升级导致yum、pip报错的解决方法
2017/09/06 Python
浅述python中深浅拷贝原理
2018/09/18 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
详解Django admin高级用法
2019/11/06 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
使用CSS实现阅读进度条
2017/02/27 HTML / CSS
大学生开西餐厅创业计划书
2014/02/01 职场文书
总经理文秘岗位职责
2014/02/03 职场文书
六查六看自查材料
2014/02/17 职场文书
节能环保家庭事迹材料
2014/08/27 职场文书
党的群众路线对照检查材料(个人)
2014/09/24 职场文书
中学生的1000字检讨书
2014/10/11 职场文书
世界地球日活动总结
2015/02/09 职场文书
撤诉书怎么写
2015/05/19 职场文书
入党宣誓仪式主持词
2015/06/29 职场文书
决心书格式及范文
2019/06/24 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server
解决mysql的int型主键自增问题
2021/07/15 MySQL