您的位置:首页 > 其它

二分查找 扫描文件夹

2016-11-01 14:50 225 查看
/**
* 扫描文件夹
*
* @author YING
* @param void
* @return void
*/
function my_scandir1($dir)
{
$files = array();
$dir_list = scandir($dir);
foreach($dir_list as $file)
{
if ( $file != ".." && $file != "." )
{
//是一个目录
if ( is_dir($dir . "/" . $file) )
{
$files[$file] = my_scandir1($dir . "/" . $file);
}
else
{
$files[] = $file;
}
}
}

return $files;
}

print_r(my_scandir1("../../Twelve"));

sprint_r(scandir("../../Twelve"));

/**
* 二分查找
*
* @author YING
* @param void
* @return void
*/
function binarySearch($arr,
4000
$target)
{
//计算数组长度
$length=count($arr);

//数组的最后下标
$end=$length-1;

//定义数组开始下标
$start=0;

//循环查找
while($start<=$end){

$mid=floor(($end+$start)/2); //计算中间位置

//相等 返回下标
if($arr[$mid]==$target){
return $mid;
}

//中间值大于目标值 向左走1;
if($arr[$mid]>$target){
$end=$end-1;
}

//中间值小于目标值 向右走1;
if($arr[$mid]<$target){
$start=$start+1;
}

}

return -1; //没找到目标

}

$arr=array(1,2,3,4,5,6,7,8,9,10,11);

print_r(binarySearch($arr,11));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: