实现思路
思路就是如下图所示,就不多说了。
演示效果
插入演示代码花了不少时间。。后来发现原来是博客园里有个ID是main,而我自己代码里也有个相同ID,结果就杯具了!以后还是起class来的安全啊!
行列值 | row=5 | col=6 | |||||||||
第一圈 | i=round=0 | 1 填充上面一行,数组行坐标不变,列坐标+1。0<= y <col-1-i 蓝色部分 | |||||||||
2 填充右面一列,数组行坐标+1,列坐标不变。此时y=col-i-1,i+1<=x<=row-i-1 红色部分 | |||||||||||
不能为最后一圈 | 3 填充下面一行,数组行坐标不变,列坐标-1。此时x=row-i-1,i<=y<=col-i-2 绿色部分 | ||||||||||
4 填充左面一列,数组行坐标-1,列坐标不变。此时y=I,i<x<=row-i-2 黄色部分 | |||||||||||
经过上面4步,第一圈完成。后面填充重复上面步骤。 | |||||||||||
1 | 2 | 3 | 4 | 5 | 6 | ||||||
18 | 19 | 20 | 21 | 22 | 7 | ||||||
17 | 28 | 29 | 30 | 23 | 8 | ||||||
16 | 27 | 26 | 25 | 24 | 9 | ||||||
15 | 14 | 13 | 12 | 11 | 10 | ||||||
螺旋数组演示
输入行数 输入列数