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 相关文章推荐
用libtemplate实现静态网页生成
Oct 09 PHP
非常好的php目录导航文件代码
Oct 09 PHP
模仿OSO的论坛(二)
Oct 09 PHP
phpMyAdmin 安装及问题总结
May 28 PHP
PHP+MySQL 手工注入语句大全 推荐
Oct 30 PHP
PHP投票系统防刷票判断流程分析
Feb 04 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
Apr 05 PHP
ThinkPHP CURD方法之limit方法详解
Jun 18 PHP
初识php MVC
Sep 10 PHP
PHP中使用Imagick实现各种图片效果实例
Jan 21 PHP
PHP时间类完整实例(非常实用)
Dec 25 PHP
PHP的PDO事务与自动提交
Jan 24 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
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
php中删除数组的第一个元素和最后一个元素的函数
2015/03/07 PHP
php简单判断文本编码的方法
2015/07/30 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
如何在PHP中生成随机数
2020/06/04 PHP
用JS写的一个TableView控件代码
2010/01/23 Javascript
js加载之使用DOM方法动态加载Javascript文件
2013/11/08 Javascript
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
采用call方式实现js继承
2014/05/20 Javascript
JavaScript中检查对象property的存在性方法介绍
2014/12/30 Javascript
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
超全面的JavaScript开发规范(推荐)
2017/01/21 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
jquery层次选择器的介绍
2019/01/18 jQuery
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
vue 避免变量赋值后双向绑定的操作
2020/11/07 Javascript
[01:03:47]VP vs NewBee Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
python数据结构之列表和元组的详解
2017/09/23 Python
python3实现随机数
2018/06/25 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
django 外键创建注意事项说明
2020/05/20 Python
HTML5 中新的全局属性(整理)
2013/07/31 HTML / CSS
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
骆驼官方商城:CAMEL
2016/11/22 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
环保倡议书
2014/04/14 职场文书
英语系本科生求职信
2014/07/15 职场文书
2015年校长新年寄语
2014/12/08 职场文书
鉴史问廉观后感
2015/06/10 职场文书
nginx安装以及配置的详细过程记录
2021/09/15 Servers
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL