n*n螺旋矩阵输出详解
增强版螺旋矩阵,任意n*m矩阵输出。
class Test
{
public static void main(String[] args)
{
//int size = 6;
int [][] arr = new int[8][8];
getHelixMatrix(arr);
printArray(arr);
}
public static void getHelixMatrix(int[][] arr)
{
int n = arr.length;//获取矩阵的阶数
int m = arr[0].length;
int l = n<m?(n + 1)/2 : (m + 1)/2;
int x = 0, y = 0;
int k = 1;
for(int i = 0;i < l;i++)
{
//把顶边存入数组中
for(x = i;x <= (m - 1) - i;x++)
{
arr[y][x] = k++;//注意行和列下标的对应,别搞反了!
System.out.println("arr["+y+"]["+x+"]="+arr[y][x]+"\t");
if(k > n*m)
return;
}
System.out.println();
x--;//for的控制条件x++ 最后给x多加了1 ,在此处需要减去