天天看點

螺旋方陣

螺旋矩陣是指一個呈螺旋狀的矩陣,它的數字由第一行開始到右邊不斷變大,向下變大,向左變大,向上變大,如此循環。如下圖

螺旋方陣

可知N=4的螺旋矩陣由兩個螺旋矩陣框組成,當N= n時,矩陣框為(n+1)/2 個,從外至内一個框一個框輸出,每個框又分一條邊一條邊輸出。

public class Square_spiral {

public static void main(String[] args) {

       int[][] arr = creatSquareSpiral(4);

       for(int i = 0;i < arr.length;i ++){

      for(int j = 0;j < arr[i].length;j ++)

      System.out.print(arr[i][j] + " ");

           System.out.println();

       } 

}

    public static int[][] creatSquareSpiral(int n){

    int[][] arr = new int[n][n];

        int i,j,k = 1;

        for(i = 0;i < (n+1)/2;i ++){

        for(j = i;j < n - i;j ++)

        arr[i][j] = k ++;

                for (j = i + 1;j < n - i;j ++)     

            arr[j][n-i-1] = k ++;

                for (j = n - i - 2;j >= i;j --)       

                  arr[n-i-1][j] = k ++;

                for (j = n - i - 2;j >= i + 1;j --)      

                      arr[j][i] = k ++;

        }

        return arr;

    } 

}

繼續閱讀