实现方法:
print_rotate_matrix(intmatrix,int n),该方法用于将一个nn的二维数组逆时针旋转45度后打印。下图显示一个33的二维数组及其旋转后屏幕的效果。
分析:
从右上角对数组中的元素进行输出。
实现代码:
package lock
;
public class T10 {
private static void rotateArr(int[][] arr
)
{
int row
,col
;
int len
=arr
.length
;
for(int i
=len
-1;i
>0;i
--)
{
row
=0;
col
=i
;
while(col
<len
)
{
System
.out
.print(arr
[row
++][col
++]+"");
}
System
.out
.println();
}
for(int i
=0;i
<len
;i
++)
{
row
=i
;
col
=0;
while(row
<len
)
{
System
.out
.print(arr
[row
++][col
++]+"");
}
System
.out
.println();
}
}
public static void main(String
[] args
) {
int[][] arr
= {{1,2,3},{4,5,6},{7,8,9}};
rotateArr(arr
);
}
}
运行结果:
算法性能分析:
这种方法对数组中的每个元素都遍历了一次,因此,算法的时间复杂度为O(N^2)。