前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >蛇形矩阵

蛇形矩阵

作者头像
苦咖啡
发布2018-05-08 11:01:11
5670
发布2018-05-08 11:01:11
举报
文章被收录于专栏:我的博客我的博客
代码语言:javascript
复制
<?php
 /*
 * 蛇形矩阵一
 */
 $n = 5;
 //填充数组,array_fill第一个参数是起始下标,第二个是总个数,第三个是元素
 $arr = array_fill(0, $n, array_fill(0, $n, 0));
 $x = 0;
 $y = $n – 1;
 $p = $arr[$x][$y] = 1;//开始位置
 //向下,向左,向上,向右(注意范围)
 while($p < $n * $n) {
 while($x + 1 < $n && $arr[$x+1][$y] == 0) {
 ++$x;
 $arr[$x][$y] = ++$p;
 }
 while($y – 1 >= 0 && $arr[$x][$y-1] == 0) {
 –$y;
 $arr[$x][$y] = ++$p;
 }
 while($x – 1 >= 0 && $arr[$x-1][$y] == 0) {
 –$x;
 $arr[$x][$y] = ++$p;
 }
 while($y + 1 < $n && $arr[$x][$y+1] == 0) {
 ++$y;
 $arr[$x][$y] = ++$p;
 }
 }
 for ($i = 0;$i < $n;$i++) {
 for($j = 0; $j < $n;$j++) {
 echo $arr[$i][$j].” “;
 }
 echo “<br>”;
 }
 ?>

输出结构是:

13 14 15 16 1 12 23 24 17 2 11 22 25 18 3 10 21 20 19 4 9 8 7 6 5

今天看书看到的,就写出来。今天又加强学习了array_fill数组填充函数

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013年3月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档