二維陣列旋轉90度 180度 270度

2022-09-07 08:06:11 字數 1089 閱讀 8841

給定乙個 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 ...