zoukankan      html  css  js  c++  java
  • 数组和矩阵的问题转圈打印数组

    package demo2;

    import java.util.Scanner;

    public class Main {

    private static Scanner input = new Scanner(System.in);
    public static void main(String[] args) {
    //1:首先初始化一个矩阵
    //2:打印这个矩阵中的值

    printMatrix(init(4,4));

    }

    public static int [][] init(int row,int col){
    int [][] matrix = new int[row][col];
    for (int i = 0;i<row;i++) {
    for (int j = 0;j<col;j++) {
    matrix [i][j] = input.nextInt();
    }
    }
    return matrix;
    }

    public static void printMatrix(int [][] matrix){
    int tr = 0;
    int tc = 0;
    int dr = matrix.length - 1;
    int dc = matrix[0].length - 1;
    while (tr <= dr && tc <= dc) {
    printEdge(matrix,tr++,tc++,dr--,dc--);
    }

    }

    private static void printEdge(int[][] matrix, int tr, int tc, int dr, int dc) {
    //1:首先判断这个矩阵是不是只有一行的情况
    if (tr == dr) {
    for (int i = tc;i <= dc;i++) {
    System.out.print(matrix[tr][i] + " ");
    }
    }
    //2:判断这个矩阵是不是只有一列的情况
    else if (tc == dc) {
    for (int i = tr;i <= dr;i++) {
    System.out.print(matrix[i][tc] + " ");
    }
    }else{//一般的情况
    int curc = tc;
    int curr = tr;
    while (curc != dc) {
    System.out.print(matrix[tr][curc]);
    curc++;
    }

    while (curr != dr) {
    System.out.print(matrix[curr][dc]);
    curr++;
    }

    while (curc != tr) {
    System.out.print(matrix[dr][curc]);
    curc--;
    }

    while (curr != tr) {
    System.out.print(matrix[curr][tc]);
    curr--;
    }

    }







    }

    }

  • 相关阅读:
    Codeforces 1368F
    Codeforces 1364C
    Hiho1422 Harmonic Matrix Counter (高斯消元)
    Codeforces 19D
    P3164 [CQOI2014]和谐矩阵(高斯消元 + bitset)
    P4254 [JSOI2008]Blue Mary开公司 (李超树)
    P4755 Beautiful Pair (分治 + 主席树)
    P4587 [FJOI2016]神秘数(主席树)
    分布式锁实现,与分布式定时任务
    redis应用场景,缓存的各种问题
  • 原文地址:https://www.cnblogs.com/airycode/p/5762442.html
Copyright © 2011-2022 走看看