之字型打印二维数组
来源:互联网 发布:淘宝账户商家登陆 编辑:程序博客网 时间:2024/06/05 04:58
package com.dl.numprint;
public class ZPrint {
public static void zPrint(int[][] array)
{
int rr=0; //纵向移动横坐标
int rc=0;//纵向移动纵坐标
int cr=0;//横向移动横坐标
int cc=0;//横向移动纵坐标
boolean flag=false;// 从上向下打印还是从下向上打印
if(array==null || array.length==0 ||array[0].length==0)
return;
int rowNum=array.length-1;
int colNum=array[0].length-1;
while(cr!=rowNum+1)
{ printLine(array,rr,rc,cr,cc,flag);
rc=rr==rowNum?rc+1:rc;
rr=rr==rowNum?rr:rr+1;//特别注意rc 和 rr的赋值顺序,若反过来则出错
cr=cc==colNum?cr+1:cr;
cc=cc==colNum?cc:cc+1;
flag=!flag;
}
}
public static void printLine(int[][] array,int rr,int rc,int cr,int cc,boolean flag)
{
if(flag)
{
while(cr!=rr+1)
{
System.out.print(array[cr++][cc--]+" ");
}
}
if(!flag)
{
while(rc!=cc+1)
{
System.out.print(array[rr--][rc++]+" ");
}
}
}
public static void main(String[] args) {
int[][] matrix = { {1}};
//System.out.print("LENGTH:"+matrix.length);
zPrint(matrix);
}
}
public class ZPrint {
public static void zPrint(int[][] array)
{
int rr=0; //纵向移动横坐标
int rc=0;//纵向移动纵坐标
int cr=0;//横向移动横坐标
int cc=0;//横向移动纵坐标
boolean flag=false;// 从上向下打印还是从下向上打印
if(array==null || array.length==0 ||array[0].length==0)
return;
int rowNum=array.length-1;
int colNum=array[0].length-1;
while(cr!=rowNum+1)
{ printLine(array,rr,rc,cr,cc,flag);
rc=rr==rowNum?rc+1:rc;
rr=rr==rowNum?rr:rr+1;//特别注意rc 和 rr的赋值顺序,若反过来则出错
cr=cc==colNum?cr+1:cr;
cc=cc==colNum?cc:cc+1;
flag=!flag;
}
}
public static void printLine(int[][] array,int rr,int rc,int cr,int cc,boolean flag)
{
if(flag)
{
while(cr!=rr+1)
{
System.out.print(array[cr++][cc--]+" ");
}
}
if(!flag)
{
while(rc!=cc+1)
{
System.out.print(array[rr--][rc++]+" ");
}
}
}
public static void main(String[] args) {
int[][] matrix = { {1}};
//System.out.print("LENGTH:"+matrix.length);
zPrint(matrix);
}
}
0 0
- 之字型打印二维数组
- 数组与矩阵---之字型打印矩阵
- 之字型打印矩阵(算法)
- 按之字型顺序打印二叉树
- 剑指offer之顺时针打印二维数组
- 二维数组的转圈打印和“之”字打印
- 打印二维数组
- 螺旋打印二维数组
- 打印不规则二维数组
- 转圈打印二维数组
- 二维数组顺时针打印
- 二维数组打印
- 转圈打印二维数组
- java打印二维数组
- 顺时针打印二维数组
- 二维数组的打印
- 二维数组的打印
- 打印二维数组
- 孤儿进程与僵尸进程的理解
- setContentView(R.Layout.main)的意思
- 关于c++中的char和bool
- 岛屿个数
- SGU 001
- 之字型打印二维数组
- ocp-v13-682
- 关于iOS9和x-code7的http请求失败的问题
- LeetCode 235: Lowest Common Ancestor of a Binary Search Tree
- 修改Linux时间一般涉及到3个命令: date, clock, hwclock
- iOS9 中使用HTTP协议
- java栏栅实例……转载的!
- 【springmvc+mybatis项目实战】杰信商贸-21.合同总金额SQL
- 第四周项目(1):建立单链表