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程序员编程注意事项
Apr 10 PHP
一篇有意思的技术文章php介绍篇
Oct 26 PHP
深入PHP异步执行的详解
Jun 03 PHP
php生成扇形比例图实例
Nov 06 PHP
PHP连接和操作MySQL数据库基础教程
Sep 29 PHP
PHP制作百度词典查词采集器
Jan 29 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
PHP实现微信申请退款功能
Oct 01 PHP
php二维数组按某个键值排序的实例讲解
Feb 15 PHP
PDO实现学生管理系统
Mar 21 PHP
PHPExcel实现的读取多工作表操作示例
Apr 14 PHP
XAMPP升级PHP版本实现步骤解析
Sep 04 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文件打开、关闭、写入的判断与执行代码
2011/05/24 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
input 输入框内的输入事件详细分析
2010/03/17 Javascript
JavaScript中this的使用详解
2013/11/08 Javascript
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
控制文字内容的显示与隐藏示例
2014/06/11 Javascript
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
angularjs学习笔记之双向数据绑定
2015/09/26 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
JavaScript从数组的indexOf()深入之Object的Property机制
2016/05/11 Javascript
javascript的理解及经典案例分析
2016/05/20 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
Vue代码分割懒加载的实现方法
2017/11/23 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
2017/12/16 jQuery
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
python中关于时间和日期函数的常用计算总结(time和datatime)
2013/03/08 Python
python使用PyGame绘制图像并保存为图片文件的方法
2015/04/24 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
同时安装Python2 &amp; Python3 cmd下版本自由选择的方法
2017/12/09 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
python 计算数据偏差和峰度的方法
2019/06/29 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
2020/06/02 Python
CSS3 border-radius圆角的实现方法及用法详解
2020/09/14 HTML / CSS
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
英文版销售经理个人求职信
2013/11/20 职场文书
学校领导班子四风问题整改意见
2014/10/02 职场文书
亚布力滑雪场导游词
2015/02/09 职场文书
幼师辞职信怎么写
2015/02/27 职场文书
贷款收入证明格式
2015/06/24 职场文书
用Python selenium实现淘宝抢单机器人
2021/06/18 Python
一次SQL查询优化原理分析(900W+数据从17s到300ms)
2022/06/10 SQL Server