描述: 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 输入正整数n(n不大于100)输出,输出一个n行n列的蛇形矩阵。
例如5行5列蛇形矩阵输出为:
1 3 6 10 15
2 5 9 14 16
4 8 13 17 22
7 12 18 21 23
11 19 20 24 25
类似于前面的输出螺旋矩阵的方法,每一次在数组中填写新的数字都有一个方向,与输出螺旋数组不同的是不是简单的上下左右四个方向,这里涉及到右,下,右上,左下四个方向,针对每步操作都需要想好对应的处理方法,如:
1)向右上位置填写元素的时候可能会碰到行<0或者是列 >= n,如果行小于0,那么接下来就需要向右填写元素,列大于等于n,那么很明显接下来就要向下填写元素。
2)向下添加元素时,也会碰到一些情况,例如行 >= n了,表示添加到最后一行了,此时需要向右移动,另外在第一列和最后一列向下添加元素情况也不一样,在第一列向下添加元素后,接下来应该向右上添加元素,在最后一列向下添加元素后接下来应该向左下添加元素。向左下和向右填写元素与这类似。
参考代码如下:
老九学堂出品,转载请私信哦
对于文章内容有不理解的可以添加老九君个人QQ:614940318,请备注来自简书
老九学堂免费C、C++、Java课程地址:
https://study.163.com/courses-search?keyword=%E8%80%81%E4%B9%9D%E5%AD%A6%E5%A0%82