php二分查找算法
2016-01-11 17:08
537 查看
function binarySearch($arr,$target){
$low = 0;
$high = count($arr)-1;
while($low<=$high){
$mid = intval(($low+$high)/2);
#找到元素
if ($arr[$mid]) == $target) return $mid;
#中元素比目标大,查找左部
if ($arr[$mid] > $target) $high = $mid-1;
#中元素比目标小,查找右部
if ($arr[$mid] < $target) $low = $mid+1;
}
#查找失败
return false;
}
$arr = array(1, 3, 5, 7, 9, 11);
$inx = binarySearch($arr, 1);
var_dump($inx);
$low = 0;
$high = count($arr)-1;
while($low<=$high){
$mid = intval(($low+$high)/2);
#找到元素
if ($arr[$mid]) == $target) return $mid;
#中元素比目标大,查找左部
if ($arr[$mid] > $target) $high = $mid-1;
#中元素比目标小,查找右部
if ($arr[$mid] < $target) $low = $mid+1;
}
#查找失败
return false;
}
$arr = array(1, 3, 5, 7, 9, 11);
$inx = binarySearch($arr, 1);
var_dump($inx);
相关文章推荐
- PHP usleep() 函数
- php冒泡排序算法和快速排序算法
- debian ftp(vsftpd)服务器搭建
- 理解PHP及Zend Engine的线程安全模型(ZTS)
- 编译安装openresty+mysql+php7
- 详解WordPress开发中get_current_screen()函数的使用
- PHP实现基于文本的摩斯电码生成器
- 设置session的生命周期(php)
- PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
- 利用getClassLoader().getResource(*).getPath()获取绝对路径时,因为空格不能获取绝对路径的问题
- 设置控件的随机显示位置 setlayoutparams
- 七大排序问题之简单选择排序(PHP版)
- phpcms v9 表单向导 在线留言后,发送邮件(含留言内容)
- 利用getLayoutParams()方法和setLayoutParams()方法
- 七大排序问题之冒泡排序(PHP版)
- php 针对特殊字符进行转义
- php处理金额显示的一些笔记
- 辛星PHP教程之yii和ci教程已经写完,望与朋友们交流
- Editplus 正则表达式
- php sleep(10) Session锁问题