Linux教程網
JAVA實現二維數組的轉置
- /**
- * 實現二維數組的轉置
- * @author HAN
- *
- */
- public class transposition_Arrays2D_ch6_4 {
-
- final static double PI=3.1415;
- public static void main(String[] args) {
- /*StaticTest st1=new StaticTest();
- StaticTest st2=new StaticTest();
- st1.method2("HAN");*/
-
- /*****定義要用於轉置的二維數組*******/
- int arr2D[][]={{1,2,3},{4,5,6},{7,8,9}};
-
- /*****構造結果新二維數組用於存放轉置結果*******/
- /*定義結果數組變量,注意 一定要先開辟一個內存,
- 否則只是地址傳遞,也就是說兩個數組名實際上指向的是同一塊內存*/
- //而構造二維數組可以為維度來進行,不一定是一個矩陣,即每一行的長度不一定相同
- int result_arr[][]=new int[arr2D.length][];//先實現第一維
- for(int i=0 ; i<arr2D.length;i++){ //再實現第二維
- result_arr[i]=new int[arr2D[i].length];
- }
-
- // int result_arr[][]=Arrays.copyOf(arr2D, arr2D.length);
- //上面這個命令行行不通!
- /*****輸出用於轉置的二維數組*******/
- for (int x[]:arr2D){
- for(int e:x){
- System.out.print(e+" ");
- }
- System.out.println();
- }
- System.out.println();
-
- /*******進行元素倒置******/
- for(int i=0 ; i<arr2D.length;i++){
- for(int j=0; j<arr2D[i].length;j++){
- result_arr[j][i]=arr2D[i][j]; //轉置核心
- }
- }
-
- /*****show the result in the result matrix*******/
- for (int x[]:result_arr){
- for(int e:x){
- System.out.print(e+" ");
- }
- System.out.println();
- }
-
- }
-
- }
-
-
- //import java.util.Arrays;
- //public class transposition_Arrays2D {
- //
- // public static void main(String[] args) {
- // int arr2D[][]={{1,2,3},{4,5,6},{7,8,9}};
- // /*定義結果數組變量,注意 一定要先開辟一個內存,
- // 否則只是地址傳遞,也就是說兩個數組名實際上指向的是同一塊內存*/
- // int result_arr[][]=new int[arr2D.length][];
- // for(int i=0 ; i<arr2D.length;i++){
- // result_arr[i]=new int[arr2D[i].length];
- // }
- //
- // // 進行元素倒置
- // for(int i=0 ; i<arr2D.length;i++){
- // for(int j=0; j<arr2D[i].length;j++){
- // result_arr[j][i]=arr2D[i][j];
- // }
- // }
- //
- // // show the result in matrix
- // for (int x[]:result_arr){
- // for(int e:x){
- // System.out.print(e);
- // }
- // System.out.println();
- // }
- //
- // }
- //
- //}
Copyright ©
Linux教程網 All Rights Reserved