我的作业是:从左上角开始以螺旋顺序打印2D矩阵,然后从中心开始(第一次分配的终点将是起点)。
我已经从左上角进行了遍历,没问题,但是我不能修改代码来做相反的事情。有什么想法吗?
for (int n = 0, i = 0, j = 0, rightWall = size - 1, leftWall = 0; n < size *
size; n++) {
if ((i == (leftWall + 1)) && (j == leftWall)) {rightWall--;
leftWall++;} //SHRINK SPIRAL
if ((j == rightWall) && (i < rightWall)) {i++; continue;} //GO DOWN
if ((j < rightWall) && (i == leftWall)) {j++; continue;} //GO RIGHT
if ((i == rightWall) && (j > leftWall)) {j--; continue;} //GO LEFT
if ((j == leftWall) && (i > leftWall)) {i--; continue;} //GO UP
}