版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37770023/article/details/83010770
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;
}
}
}
}