400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

顺时针打印二位数组-创新互联

顺时针打印二维数组 题目简述解题思路

方案是一圈一圈打印
在写代码过程中要注意矩阵中下标的记录

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名雅安服务器托管、营销软件、网站建设、蒲城网站维护、网站推广。

先设定好边界,行、列,还有初始值。设定好边界后,用while去遍历打印的动作,先右后下再左再上,这个顺时针的动作,因为你会发现其实顺时针的规律也就这样,只要重复循环这个动作即可得出答案。

应该数据初始化之后继续加上一个while循环
并且leftUpRow和leftUpCol应该递增,rightDownRow和rightDownCol应该递减
在外循环中r和c应该每次都进行初始化

while (leftUpRow<= rightDownRow && leftUpCol<= rightDownCol) {……};
源代码
public class Case01_Print2DArr {
  public static void main(String[] args) {
      int[][] matrix = {
              {1, 2, 3, 4},
              {5, 6, 7, 8},
              {9, 10, 11, 12},
              {13, 14, 15, 16},
      };
      print(matrix);
  }

  static void print(int[][] matrix) {
      int leftUpRow = 0, leftUpCol = 0;//设置好边界值
      rightDownRow = matrix.length - 1;//行 
      rightDownCol = matrix[0].length - 1;//列
      while (leftUpRow<= rightDownRow && leftUpCol<= rightDownCol) {//设置边界,且遍历
          int r = leftUpRow, c = leftUpCol;//更新步骤的初始值
          //上边一条边
          while (c<= rightDownCol) {
              System.out.println(matrix[r][c++]);
          }
          //恢复
          c = rightDownCol;
          r++;

          //右边一条便边
          while (r<= rightDownRow) {
              System.out.println(matrix[r++][c]);
          }
          //恢复
          r = rightDownRow;
          c--;

          //下边一条边
          while (c >= leftUpCol) {
              System.out.println(matrix[r][c--]);
          }
          //恢复
          c = leftUpCol;
          r--;

          while (r >leftUpRow) {
              System.out.println(matrix[r--][c]);
          }
          leftUpRow++;
          leftUpCol++;
          rightDownRow--;
          rightDownCol--;

      }
  }
}

测试结果

1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10

注意

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


标题名称:顺时针打印二位数组-创新互联
标题网址:http://mbwzsj.com/article/cseoos.html

其他资讯

让你的专属顾问为你服务