• java 回行矩阵的打印


    n=3        n=4                                                  

    1   2   3      1     2   3   4

    8   9   4      12  13      14     5

    7   6   5      11  16      15     6

                      10   9        8      7

    可以看出当n是偶数的时候总共是k=n/2圈,当n是基数的时候总共是k=n/2圈+中间的一个原素A[n/2,n/2]

        public  void printJZ(int n){
            int [][]A=new int[n][n];
            int t=1;//初始值
            int i,j;
            for(int k=0;k<n/2;k++){//k代表第几圈
                for(i=k,j=k;j<n-k-1;j++){//第一条边 j的变化就是从k->n-1-k
                    A[i][j]=t++;
                }
                for(i=k,j=n-k-1;i<n-k-1;i++){//第二条边i的变化就是从k->n-1-k
                    A[i][j]=t++;
                }
                for(i=n-k-1,j=n-k-1;j>k;j--){//第三条边跟第一条边反过来从j从n-1-k->k
                    A[i][j]=t++;
                }
                for(i=n-k-1,j=k;i>k;i--){//第四条边跟第二条边反过来从i从n-1-k->k
                    A[i][j]=t++;
                }
    
    
            }
            if(n%2==1){
                A[n/2][n/2]=t;
            }
    
            for(i=0;i<n;i++){
                for (j=0;j<n;j++) {
                    System.out.print(A[i][j]+" ");
                }
                System.out.println();
            }
        }

  • 相关阅读:
    1065-两路合并
    1064-快速排序
    1063-冒泡排序
    1062-直接插入排序
    1061-简单选择排序
    1058-Tom and Jerry
    关于WinForm引用WPF窗体
    ref与out的区别
    看到他我一下子就悟了(续)---委托
    域名的a记录转过来他的公网ip
  • 原文地址:https://www.cnblogs.com/lianzhen/p/10649411.html
Copyright © 2020-2023  润新知