首 页IT知识库翔宇问吧收藏本站
当前位置:翔宇亭IT乐园IT知识库WEBPHP

php数组二分法查找

减小字体 增大字体 作者:朱朝  来源:转载  发布时间:2010-01-31 15:20:00

<?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函数并输出查找结果  
?> 

本文来自CSDN博客,出处:http://blog.csdn.net/zhuzhao/archive/2009/03/09/3969044.aspx

分享

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

用户名: 查看更多评论

分 值:100分 90分 80分 70分 60分 40分 20分

内 容:

请注意用语文明且合法,不要发布带有攻击性、侮辱性的言论,谢谢合作!

验证码:

相关文章

关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2020 biye5u.com. All Rights Reserved.
网站备案号:黑ICP备13005378号-3