歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

JAVA實現二維數組的轉置

JAVA實現二維數組的轉置

  1. /** 
  2.  * 實現二維數組的轉置 
  3.  * @author HAN 
  4.  * 
  5.  */  
  6. public class transposition_Arrays2D_ch6_4 {  
  7.   
  8.     final static double PI=3.1415;  
  9.     public static void main(String[] args) {  
  10.         /*StaticTest st1=new StaticTest(); 
  11.         StaticTest st2=new StaticTest(); 
  12.         st1.method2("HAN");*/  
  13.           
  14.         /*****定義要用於轉置的二維數組*******/  
  15.         int arr2D[][]={{1,2,3},{4,5,6},{7,8,9}};  
  16.           
  17.         /*****構造結果新二維數組用於存放轉置結果*******/  
  18.         /*定義結果數組變量,注意 一定要先開辟一個內存, 
  19.         否則只是地址傳遞,也就是說兩個數組名實際上指向的是同一塊內存*/  
  20.         //而構造二維數組可以為維度來進行,不一定是一個矩陣,即每一行的長度不一定相同   
  21.         int result_arr[][]=new int[arr2D.length][];//先實現第一維   
  22.         for(int i=0 ; i<arr2D.length;i++){ //再實現第二維   
  23.             result_arr[i]=new int[arr2D[i].length];  
  24.         }  
  25.           
  26. //      int result_arr[][]=Arrays.copyOf(arr2D, arr2D.length);   
  27.         //上面這個命令行行不通!   
  28.         /*****輸出用於轉置的二維數組*******/  
  29.         for (int x[]:arr2D){  
  30.             for(int e:x){  
  31.                 System.out.print(e+" ");  
  32.             }  
  33.             System.out.println();  
  34.         }  
  35.         System.out.println();  
  36.           
  37.         /*******進行元素倒置******/  
  38.         for(int i=0 ; i<arr2D.length;i++){  
  39.             for(int j=0; j<arr2D[i].length;j++){  
  40.                 result_arr[j][i]=arr2D[i][j]; //轉置核心   
  41.             }     
  42.         }  
  43.           
  44.         /*****show the result in the result matrix*******/  
  45.         for (int x[]:result_arr){  
  46.             for(int e:x){  
  47.                 System.out.print(e+" ");  
  48.             }  
  49.             System.out.println();  
  50.         }  
  51.           
  52.     }  
  53.   
  54. }  
  55.   
  56.   
  57. //import java.util.Arrays;   
  58. //public class transposition_Arrays2D {   
  59. //   
  60. //  public static void main(String[] args) {   
  61. //      int arr2D[][]={{1,2,3},{4,5,6},{7,8,9}};   
  62. //      /*定義結果數組變量,注意 一定要先開辟一個內存,   
  63. //      否則只是地址傳遞,也就是說兩個數組名實際上指向的是同一塊內存*/   
  64. //      int result_arr[][]=new int[arr2D.length][];   
  65. //      for(int i=0 ; i<arr2D.length;i++){   
  66. //          result_arr[i]=new int[arr2D[i].length];   
  67. //      }   
  68. //         
  69. //        // 進行元素倒置   
  70. //        for(int i=0 ; i<arr2D.length;i++){   
  71. //          for(int j=0; j<arr2D[i].length;j++){   
  72. //              result_arr[j][i]=arr2D[i][j];   
  73. //          }      
  74. //        }   
  75. //           
  76. //        // show the result in matrix   
  77. //        for (int x[]:result_arr){   
  78. //          for(int e:x){   
  79. //              System.out.print(e);   
  80. //          }   
  81. //          System.out.println();   
  82. //        }   
  83. //           
  84. //  }   
  85. //   
  86. //}  
Copyright © Linux教程網 All Rights Reserved