1. 程式人生 > >二維陣列(矩陣)順時針旋轉90°

二維陣列(矩陣)順時針旋轉90°

1.先轉置

2.後調換列元素
  

 public void rotate(int[][] matrix){
       //矩陣轉置程式碼
        for(int i=0;i<matrix.length;i++){
            for(int j=i;j<matrix[i].length;j++){
                int k=matrix[i][j];
                matrix[i][j]=matrix[j][i];
                matrix[j][i]=k;
            }
        }
       //矩陣調換列元素
        int a=0;
        int b=matrix.length-1;
        for(int i=0;i < (matrix.length)/2;i++){
            for(int j=0;j<matrix.length;j++){
                int k=matrix[j][a];
                matrix[j][a]=matrix[j][b];
                matrix[j][b]=k;
            }
            a++;
            b--;
        }   
    }