二分查找
来源:互联网 发布:mac装ros 编辑:程序博客网 时间:2024/06/04 18:13
/**
* 二分查找-非递归,但先要对数组排序
*
* @param unknown $arr
* @param unknown $low
* @param unknown $high
* @param unknown $search
* @return number|boolean
*/
function erfen_search($arr, $low, $high, $search)
{
while ($low <= $high) {
$mid = floor(($low + $high) / 2);
if ($search == $arr[$mid]) {
return $mid;
} elseif ($search > $arr[$mid]) {
$low = $mid + 1;
} else {
$high = $mid - 1;
}
}
return false;
}
echo erfen_search(xier_sort($arr), 0, count($arr), 223);
/**
* 二分查找-递归,但先要对数组排序
*
* @param unknown $arr
* @param unknown $low
* @param unknown $high
* @param unknown $search
* @return number
*/
function erfen_digui_search($arr, $low, $high, $search)
{
if ($low <= $high) {
$mid = floor(($low + $high) / 2);
if ($search == $arr[$mid]) {
return $mid;
} elseif ($search > $arr[$mid]) {
return erfen_digui_search($arr, $mid + 1, $high, $search);
} else {
return erfen_digui_search($arr, $low, $mid - 1, $search);
}
}
}
echo erfen_digui_search(xier_sort($arr), 0, count($arr), 223);
* 二分查找-非递归,但先要对数组排序
*
* @param unknown $arr
* @param unknown $low
* @param unknown $high
* @param unknown $search
* @return number|boolean
*/
function erfen_search($arr, $low, $high, $search)
{
while ($low <= $high) {
$mid = floor(($low + $high) / 2);
if ($search == $arr[$mid]) {
return $mid;
} elseif ($search > $arr[$mid]) {
$low = $mid + 1;
} else {
$high = $mid - 1;
}
}
return false;
}
echo erfen_search(xier_sort($arr), 0, count($arr), 223);
/**
* 二分查找-递归,但先要对数组排序
*
* @param unknown $arr
* @param unknown $low
* @param unknown $high
* @param unknown $search
* @return number
*/
function erfen_digui_search($arr, $low, $high, $search)
{
if ($low <= $high) {
$mid = floor(($low + $high) / 2);
if ($search == $arr[$mid]) {
return $mid;
} elseif ($search > $arr[$mid]) {
return erfen_digui_search($arr, $mid + 1, $high, $search);
} else {
return erfen_digui_search($arr, $low, $mid - 1, $search);
}
}
}
echo erfen_digui_search(xier_sort($arr), 0, count($arr), 223);
0 0
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 小议:如何利用cmdlet更改Site Collection Storage Usage?
- DB2 SQL Error: SQLCODE=-286, SQLSTATE=42727
- mysql创建utf-8字符集数据库
- 虚函数tips
- VS2008中配置GDI+
- 二分查找
- new/delete和malloc/free的区别
- hdoj 5667 Sequence 【矩阵快速幂 + 费马小定理】
- OSG学习笔记3-使用回调实现旋转动画
- thinkphp 框架下 事务处理+琐行 亲自测试 可用
- Normalizing&Sorting DataFrame Column
- JAVA代理模式
- Eclipse去除js(JavaScript)验证错误
- 关于vs2010调用python中Py_Initialize函数报错的原因