歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> JAVA實現二維數組的轉置

JAVA實現二維數組的轉置

日期:2017/3/1 10:44:16   编辑:Linux編程

JAVA實現二維數組的轉置

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