【发布时间】:2009-06-03 14:58:26
【问题描述】:
我正在尝试以螺旋顺序填充数组。到目前为止,我可以按螺旋顺序打印数组,但是有没有办法修改数组,以便我可以按螺旋顺序填充它,然后只打印数组?我希望它像倒计时一样按降序排列。请帮忙!
public class Spiral {
public static void main(int m, int n) {
// create m by n array of integers 1 through m*n
int[][] values = new int[m][n];
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
values[i][j] = 1 + (m*n)*i + j;
// spiral
for (int i = (m*n)-1, j = 0; i > 0; i--, j++) {
for (int k = j; k < i; k++) System.out.println(values[j][k]);
for (int k = j; k < i; k++) System.out.println(values[k][i]);
for (int k = i; k > j; k--) System.out.println(values[i][k]);
for (int k = i; k > j; k--) System.out.println(values[k][j]);
}
}
}
【问题讨论】:
标签: java arrays 2d fill spiral