螺旋矩阵算法分析及实现
作者:乾坤一笑(FreeDebug)
联系方法: FreeDebug@21cn.com
http://freedebug.51.net/
一、题目
螺旋矩阵问题:编程产生H*L的螺旋矩阵。(为了方便编程我们规定H和L不大于9)。
H=5 L=5 H=6 L=3 H=2 L=2
1 2 3 4 5 1 2 3 4 5 6 1 2
16 17 18 19 6 14 15 16 17 18 7 4 3
15 24 25 20 7 13 12 11 10 9 8
14 23 22 21 8
13 12 11 10 9
二、算法分析
此题目乍一看十分复杂:第一,在填充要控制矩阵的坐标呀,怎么控制?第二,矩阵填写时会拐弯呀?什么时候拐?;第三,什么时候算是填完?;第四, 旋转矩阵有时一圈为四个边,有时候一圈为两个边,怎么区分?
不急,看了下图之后,相信你很快就明白了。