用java实现二维数组的“之”字形输出
对于一个二维数组:
1 2 3-------->第0行
4 5 6
7 8 9
11 12 13 进行“之”型输出的结果应该是
1 2 3 6 5 4 7 8 9 13 12 11
public class ZhiPrint { public static void main(String[] args) { int[][] mat={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};//定义一个二维数组 printMatrix( mat, 4, 3); } public static int[] printMatrix(int[][] mat, int n, int m) { int[][] newArray=new int[n] [m];//定义一个临时二维数组 int[] Arr=new int[m*n];//定义一个一维数组 int number=0;//定义一个变量 int k,c=0,y=0,l=0; number=m-1;//将变量的值赋值为列数减去1 for( int i=0;i<n;i++){ if(i%2!=0){//当行号是奇数时进行反转 for(k=0;k<=number;k++) { newArray[i][l+k]=mat[i][m-1-k]; } } for(int j=0;j<m;j++){//当行号是偶数时原样保存输出 if(i%2==0){ newArray[i][j]=mat[i][j]; } } } for(int r=0;r<n;r++){//将二维数组赋值为一维数组 for(int j=0;j<m;j++) { Arr[c]=newArray[r][j]; c++; } } for (int e = 0; e < Arr.length; e++) {//将一位数组进行输出 System.out.print(Arr[e]); } return Arr; }
}