矩陣相關_學習記錄
阿新 • • 發佈:2018-12-02
package p41; /** * 矩陣 * @author Guozhu Zhu * @date 2018/10/11 * @version 1.0 * */ public class Test05 { /* ========== Test ========== */ public static void main(String[] args) { int arr1[][]={ {1,2,3,4},{5,6,7,8},{9,10,11,12}}; int[][] arr = Rotation(arr1); //Rotation2(arr1); for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr[0].length; j++) { System.out.print(arr[i][j] + ","); } System.out.println(""); } } public static int[][] Rotation(int arr[][]) { int tmp[][] = new int[arr[0].length][arr.length]; //int dst = arr.length-1; //這裡我們從目標矩陣的最後一列開始存放資料 //順時針旋轉矩陣90度 /*for(int i=0;i< arr.length;i++, dst--) for(int j=0;j< arr[0].length;j++) tmp[j][dst]=arr[i][j]; return tmp;*/ int dst = 0; for (int i = 0; i < arr.length; i++, dst++) { for (int j = 0; j < arr[0].length; j++) { tmp[arr[0].length-1-j][dst] = arr[i][j]; } } return tmp; } public static void Rotation1(int[][] arr) { for (int i = 0; i < (arr.length/2); i++) { for (int j = 0; j < arr[0].length; j++) { int temp = arr[arr.length-1-i][j]; arr[arr.length-1-i][j] = arr[i][j]; arr[i][j] = temp; } } } public static void Rotation2(int[][] arr) { for (int i = 0; i < (arr.length); i++) { for (int j = 0; j < arr[0].length/2; j++) { int temp = arr[i][j]; arr[i][j] = arr[i][arr[0].length-1-j]; arr[i][arr[0].length-1-j] = temp; } } } }