package java2019;
import java.util.ArrayList;
//输入一个矩阵,按照从外向里顺时针的顺序依次打印出每个数字
public class Demo17 {
static ArrayList<Integer> a = new ArrayList<Integer>();
public void printMatrix(int[][] test){
int tc=0;
int tr=0;
int dc=test[0].length-1;
int dr=test.length-1;
while(tc<=dc&&tr<=dr){
printEdge(test,tc++,tr++,dc--,dr--);
}
}
public void printEdge(int [][] m,int tc,int tr,int dc,int dr){
int cur_tc=tc;
int cur_tr=tr;
//向右移动
while(tc!=dc){
a.add(m[tr][tc++]);
}
while(tr!=dr){
a.add(m[tr++][dc]);
}
while(dc!=cur_tc){
a.add(m[dr][dc--]);
}
while(dr!=cur_tr){
a.add(m[dr--][cur_tc]);
}
}
public static void main(String[] args) {
int test[][]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
Demo17 d17 = new Demo17();
d17.printMatrix(test);
for(int i:a){
System.out.print(i+" ");
}
}
}
17.输入一个矩阵,按照从外向里的顺序依次打印出每个数字
最新推荐文章于 2020-09-11 22:58:01 发布