逆时针输出回形矩阵图(Java版本)

来源:互联网 发布:区域增长算法改进 编辑:程序博客网 时间:2024/05/21 04:20
public static void main(String args[]){    //逆时针输出回形矩阵图    int[][] arr = getArray(4,4);    for(int i=0;i<arr.length;i++){        for(int j=0;j<arr[i].length;j++){            System.out.print(arr[i][j]+",");        }        System.out.println();    }}/** * 获取xInt * yInt逆时针回形矩阵数组 * @param xInt,矩阵x轴大小 * @param yInt,矩阵y轴大小 * @return */public static int[][] getArray(int xInt, int yInt){    int xMax = xInt;    int yMax = yInt;    int n = 4;    int arr[][]=new int[yMax][xMax];    int x = 0, y = 0;    int xMin = 0, yMin = 0;    int size = xMax * yMax;    boolean flag = true;    for(int i=0;i<size;i++){        arr[y][x] = i+1;        if((y+1)<yMax && flag){            y++;        }else if((x+1)<xMax && flag){            x++;        }else {            if(y>yMin){                y--;            }else if(x>(xMin+1)){                x--;            }else{                xMax--;                yMax--;                xMin++;                yMin++;                y++;                flag = true;            }        }        if((y+1) == yMax && (x+1) == xMax){            flag = false;        }    }    return arr;}


原创粉丝点击