您的位置:首页 > 编程语言 > PHP开发

php打印蛇形回路二维矩阵问题

2016-04-04 19:58 399 查看
先上代码通过循环打印回路来输出矩阵。例如打印6x6的矩阵就需要循环打印3个轮回即可。
<?php
function she($num){
$arr=array();
$n=$num/2;
$m=4*$num-4;
$count=1;

$x=$y=0;
for($i=0;$i<$n;$i++){
for($j=0;$j<$m;$j++){//还可以改进,减少循环次数,里面有很多无用循环次数,且外层循环一层后,无用循环会大大增加。
if($y<$num-$i&&$x==$i){
$arr[$x][$y]=$count;
// echo $arr[$x][$y];
$count++;

$y++;
}
if($y==$num-$i-1&&$x<$num-$i){
$arr[$x][$y]=$count;
$count++;
$x++;

}
if($x==$num-1-$i&&$y>$i){
$arr[$x][$y]=$count;
$count++;
$y--;

}
if($x>$i+1&&$y==$i){
$arr[$x][$y]=$count;
$count++;
$x--;

}

}

}

for($i=0;$i<$num;$i++){
for($j=0;$j<$num;$j++){
echo $arr[$i][$j]." ";
}
echo "<br />";
}
}

she(5);

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