您的位置:首页 > 其它

二叉树排序(二分查找)[迭代]

2013-09-25 16:12 393 查看
<?php

/**
* 二叉树排序(二分查找)[迭代]
*
* @param $arr array 已经排序好的数组
* @param $value int 要查找的数
* @return int 查找到数的下标
*/
function Dicho($arr,$value){
// 指定开始和结束(也可以由外部决定)
$start = 0;
$end = count($arr) - 1;
while($start <= $end){
$mid = floor(($start + $end) / 2);
if($value == $arr[$mid]){
return $mid;
} elseif($value > $arr[$mid]){
$start = $mid + 1;
} else{
$end = $mid -1;
}
}
return $arr;
}
echo '<pre>';
$arr = array(1,2,6,9,14,18);
print_r(Dicho($arr,9));

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息