php循环输出n行三列,PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能

本文实例讲述了php实现基于图的深度优先遍历输出1,2,3...n的全排列功能。分享给大家供大家参考,具体如下:

$n=$_request["n"];

if($n>8)

{

echo "{$n}太大了,影响服务器性能";

return;

}

define("n",$n);

$d=array();

$v=array();

for($i=0;$i<=n;$i++){

$d[$i]=$v[$i]=0;

}

function dfs($depth){

global $d,$v;

if($depth>=n){

for($i=0;$i!=n;$i++){

echo $d[$i];

}

echo "
";

return;

}

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

if($v[$i]==0){

$v[$i]=1;

$d[$depth]=$i;

dfs($depth+1);

$v[$i]=0;

}

}

}

dfs(0);

这里以get方法传入参数n=4为例,输出如下:

1234

1243

1324

1342

1423

1432

2134

2143

2314

2341

2413

2431

3124

3142

3214

3241

3412

3421

4123

4132

4213

4231

4312

4321

希望本文所述对大家php程序设计有所帮助。

希望与广大网友互动??

点此进行留言吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值