如何数组旋转

it2023-11-06  82

实现方法:

  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) { // TODO Auto-generated method stub int[][] arr= {{1,2,3},{4,5,6},{7,8,9}}; rotateArr(arr); } }

运行结果:

算法性能分析:

  这种方法对数组中的每个元素都遍历了一次,因此,算法的时间复杂度为O(N^2)。

最新回复(0)