php 3 3公派算法代码,PHP常见算法合集代码实例

许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣,下面是一些常用的算法和实例,大家可以好好学习下

一、文件夹遍历

function allFile($path = __DIR__, $level = 1)

{

if (is_dir($path) && is_readable($path)) {

if($pd = opendir($path)) {

while (($file = readdir($pd)) !== false) {

if($file != '.' && $file != '..') {

if (($subPath = $path . DIRECTORY_SEPARATOR . $file) && is_dir($subPath)) {

echo "

"; 
 

echo '' . str_repeat("--", $level) . $subPath . '';

self::allFile($subPath, $level++);

} else {

echo "

"; 
 

echo str_repeat("--", $level) . $subPath;

}

}

}

}

} else {

echo "{$path} is not a available dir";

}

}

二、九九乘法表

function create()

{

for ($i = 1; $i <= 9; $i++) {

for ($j = 1; $j <= $i; $j++) {

echo $j . '*' . $i . '=' . $i * $j . PHP_EOL;

}

echo "
";

}

}

三、无限极递归分类

①、递归算法

function getTree($array, $pid =0, $level = 0)

{

//声明静态数组,避免递归调用时,多次声明导致数组覆盖

static $list = [];

foreach ($array as $key => $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;

}

②、引用算法

function getTree($array)

{

//第一步 构造数据

$items = [];

foreach($array as $value) {

$items[$value['id']] = $value;

}

//第二部 遍历数据 生成树状结构

$tree = [];

foreach($items as $key => $value) {

if(isset($items[$item['pid']])) {

$items[$item['pid']]['son'][] = &$items[$key];

} else {

$tree[] = &$items[$key];

}

}

return $tree;

}

四、冒泡排序

function bubbleSort($arr)

{

$len = count($arr);

for($i=1; $i

for($k=0; $k

if($arr[$k] > $arr[$k+1]) {

$tmp=$arr[$k+1];

$arr[$k+1]=$arr[$k];

$arr[$k]=$tmp;

}

}

}

return $arr;

}

五、选择排序

function selectSort($arr)

{

$len=count($arr);

for($i=0; $i

$p = $i;

for($j=$i+1; $j

if($arr[$p] > $arr[$j]) {

$p = $j;

}

}

if($p != $i) {

$tmp = $arr[$p];

$arr[$p] = $arr[$i];

$arr[$i] = $tmp;

}

}

return $arr;

}

六、插入排序

function insertSort($arr)

{

$len=count($arr);

for($i=1; $i

$tmp = $arr[$i];

for($j=$i-1;$j>=0;$j--) {

if($tmp < $arr[$j]) {

$arr[$j+1] = $arr[$j];

$arr[$j] = $tmp;

} else {

break;

}

}

}

return $arr;

}

七、快速排序

function quickSort($arr) {

$len = count($arr);

if($len <= 1) return $arr;

$base_num = $arr[0];

$left_array = [];

$right_array = [];

for($i=1; $i

if($base_num > $arr[$i]) {

$left_array[] = $arr[$i];

} else {

$right_array[] = $arr[$i];

}

}

$left_array = self::quickSort($left_array);

$right_array = self::quickSort($right_array);

return array_merge($left_array, array($base_num), $right_array);

}

到此这篇关于PHP常见算法合集代码实例的文章就介绍到这了,更多相关PHP常见算法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

环境要求: 1、php5.3(最佳)以上+ mysql+ apache;php函数需要开启openssl,独立服务器或云主机可以在php.ini里设置开启,虚拟主机请联系空间商,若不能开启请不要购买该主机 2、切记不能放在子目录,最好使用apache,IIS不建议用或者就不要用,一些营销活动兼容性差,因为IIS导致营销模块不兼容,请配合换为apache的已满足使用要求。可以用phpstudy等集成环境配置 安装说明: 讲文件上传到站点根目录 然后在浏览器输入绑定的域名(需备案),会进入安装提示,(如果没有进入,说明站点目录权限或者站点配置有问题,权限必须设置为777,继承到子文件及目录),根据提示填写相应信息,安装后刷新页面即可进入登录页 安装后 刷新网址 登录系统后台 右上角--点开找到系统设置---后台皮肤---切换皮肤 选color 然后安装模块: 右上角--点开找到系统设置---模块---安装模块---最下面 点一键安装所有模块 kill.php 清除文件BOM wfx.sql是数据库文件 ================================================================================================================================================ 各种定制:三级分销,双轨 二二复制公排,对碰 见点,静态收益,红包秒提,全球分红,团队分红,渠道商,多商户入驻,区域代理,股东分红,排队领钱,积分分期返,购物分时返,三三复制 自动下滑,全国公排,,等等 只要您想得到 没有做不到的 具体联系客服,均可定制 定制微信分销商城具体价格根据要求请联系客服 QQ:505562005
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值