下面是我画的一个结构图
首先对这个图做个解释,我是将其分为四个区块对其逐个赋值的,中间的方块的意思是如果矩阵的基数(也就是改螺旋矩阵的矩形个数,如果是奇数除去中间的一个数字)是一个奇数则存在中间这个数,偶数则不存在,大家可以在图纸上画画看的,还有一点,就是第一区块是整行的元素赋值,从头到尾都负责到底,而其他区块只是从头一个都倒数第二个(举个例子,比如基数是3,第一行要赋值的元素就是1,2,3而第二区块就是对4进行赋值,第三区块就是5,6,后面依次类推)
第一区块:赋值的时候是行数不变,列数在变
第二区块:列数不变,行数在变
第三区块:同第一区块
第四区块:同第二区块
整个流程也清楚了,接下来就是代码实现
效果输出如下所示
基数是奇数的矩阵
基数是偶数的矩阵