給定乙個 n × n 的二維矩陣表示乙個影象。將影象順時針旋轉 90 /180 /270 度。
int a[3][3]=,,}; //定義3*3陣列演示
int b[3][3],c[3][3],d[3][3];
for(int i=0;i<3;i++)
}
對陣列的行,列通過改變陣列的下標進行陣列旋轉的操作
輸出結果
*****原數列************
1 2 3
2 3 4
4 5 6
****順時針旋轉90 度****
4 2 1
5 3 2
6 4 3
****順時針旋轉180度****
6 5 4
4 3 2
3 2 1
****順時針旋轉270度****
3 4 6
2 3 5
1 2 4
**********************
原理:順時針旋轉90度時,列號變行號,且行號下標順序顛倒。
0 1
2 0
1231 234
2 456
即: a[0][0] -> b[0][2]
a[1][0] -> b[0][1]
a[2][0] -> b[0][0] //第一列變第一行
用變數i表示行,j表示列的話,為a[i][j] = b[2-j][i]//其中2為陣列下標最大值
即:在n*n陣列中只需令a[i][j] = b[n-1-j][i]即可完成陣列旋轉90度
在n*n陣列中只需令c[i][j]=a[n-1-i][n-1-j]即可完成陣列旋轉180度
在n*n陣列中只需令d[i][j]=a[j][n-1-i]即可完成陣列旋轉270度
二維陣列旋轉90度 180度 270度
給定乙個 n n 的二維矩陣表示乙個影象。將影象順時針旋轉 90 180 270 度。int a 3 3 定義3 3陣列演示 int b 3 3 c 3 3 d 3 3 for int i 0 i 3 i 對陣列的行,列通過改變陣列的下標進行陣列旋轉的操作 輸出結果 原數列 1 2 3 2 3 4 ...
二維陣列旋轉90度
二維陣列旋轉90度,旋轉前的位置和旋轉後位置的關係是 a i j a j n 1 j n是陣列的列數。leetcode第48題,rotate image就是要我們旋轉陣列。這有兩種思路 1 按照換算公式,對每個位置進行變換 2 由於旋轉90度可以看到變換前和變換後是按照對角線對稱以後再反轉的 所以有...
python 二維陣列90度旋轉的方法
如下所示 usr bin env python coding utf 8eqcbkozp 0,1,2eqcbkozp,3 0,1,2,3 0,1,2,3 程式設計客棧 0,1,2,2維陣列順時針90度旋轉後結果如下 0,0,0,0 1,1,1,1 2,2,2,2 3,3,3,3 0 1 1 0 0 ...