PHP常见算法合集代码实例
许多人都说算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣,下面是一些常用的算法和实例,大家可以好好学习下
一、文件夹遍历
"; echo''.str_repeat("--",$level).$subPath.''; self::allFile($subPath,$level++); }else{ echo""; echostr_repeat("--",$level).$subPath; } } } } }else{ echo"{$path}isnotaavailabledir"; } }
二、九九乘法表
"; } }
三、无限极递归分类
①、递归算法
$value){
//第一次遍历,找到父节点为根节点的节点也就是pid=0的节点
if($value['pid']==$pid){
//父节点为根节点的节点,级别为0,也就是第一级
$value['level']=$level;
//把数组放到list中
$list[]=$value;
//把这个节点从数组中移除,减少后续递归内存消耗
unset($array[$key]);
//递归调用
getTree($array,$value['id'],$level+1);
}
}
return$list;
}
②、引用算法
$value){
if(isset($items[$item['pid']])){
$items[$item['pid']]['son'][]=&$items[$key];
}else{
$tree[]=&$items[$key];
}
}
return$tree;
}
四、冒泡排序
$arr[$k+1]){
$tmp=$arr[$k+1];
$arr[$k+1]=$arr[$k];
$arr[$k]=$tmp;
}
}
}
return$arr;
}
五、选择排序
$arr[$j]){
$p=$j;
}
}
if($p!=$i){
$tmp=$arr[$p];
$arr[$p]=$arr[$i];
$arr[$i]=$tmp;
}
}
return$arr;
}
六、插入排序
=0;$j--){
if($tmp<$arr[$j]){
$arr[$j+1]=$arr[$j];
$arr[$j]=$tmp;
}else{
break;
}
}
}
return$arr;
}
七、快速排序
$arr[$i]){
$left_array[]=$arr[$i];
}else{
$right_array[]=$arr[$i];
}
}
$left_array=self::quickSort($left_array);
$right_array=self::quickSort($right_array);
returnarray_merge($left_array,array($base_num),$right_array);
}
到此这篇关于PHP常见算法合集代码实例的文章就介绍到这了,更多相关PHP常见算法内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。