java打印螺旋矩阵

复制代码
public void testPrint(){
        int n=5;

        int len=0,i=0,j=0,d=0,f=0,rn=n;
        int[][] array=new int[n][n];
        while(len<n*n){
            array[i][j]=len+1;
            len++;
            f++;
            if(f>=rn){
                d++;
                f=0;
                rn=d%2==1?rn-1:rn;
            }
            switch (d%4){
                case 0:j++;break;
                case 1:i++;break;
                case 2:j--;break;
                case 3:i--;break;
            }
        }
        for (int k = 0; k <n ; k++) {
            System.out.println(Arrays.toString(array[k]));
        }
    }
复制代码

打印效果如下:

[1, 2, 3, 4, 5]
[16, 17, 18, 19, 6]
[15, 24, 25, 20, 7]
[14, 23, 22, 21, 8]
[13, 12, 11, 10, 9]

 

posted @   Gyoung  阅读(887)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示