zoukankan      html  css  js  c++  java
  • 生产螺旋二维数组

    public class SpiralArray {
    
        public static int[][] generateSpiralArray(final int x, final int y) {
            int[][] blanks = new int[x][y];
            int direct = 0;
            int num = 0;
            int posX = 0, posY = -1;
            int widthlen = y;
            int heightlen = x;
            int xTimes = heightlen;
            int yTimes = widthlen;
            while (true) {
                if (num == x * y)
                    break;
                num++;
                switch (direct) {
                case 0:
                    if (--yTimes == 0) {
                        direct = 1;
                        heightlen--;
                        posY++;
                        xTimes = heightlen;
                        break;
                    }
                    posY++;
                    break;
                case 1:
                    if (--xTimes == 0) {
                        direct = 2;
                        widthlen--;
                        posX++;
                        yTimes = widthlen;
                        break;
                    }
                    posX++;
                    break;
                case 2:
                    if (--yTimes == 0) {
                        direct = 3;
                        heightlen--;
                        posY--;
                        xTimes = heightlen;
                        break;
                    }
                    posY--;
                    break;
                case 3:
                    if (--xTimes == 0) {
                        direct = 0;
                        widthlen--;
                        posX--;
                        yTimes = widthlen;
                        break;
                    }
                    posX--;
                    break;
                }
                blanks[posX][posY] = num;
    printArray(blanks, x, y); }
    return blanks; } priavte static void printArray(final int[][] array, final int x, final int y) { for (int i = 0; i < x; i++) { for (int j = 0; j < y; j++) { System.out.printf("%-5d", blanks[i][j]); }
    System.out.println(); }

              try {
                  Thread.sleep(100);
              } catch (InterruptedException e) {}

              System.out.println();

        }
    
        public static void main(String[] args) {
            int x = 5, y = 4;
            int[][] array = generateSpiralArray(x, y);
            printArray(array, x, y);
        }
    
    }
  • 相关阅读:
    SharePoint缓存配置
    修改默认的个人站点
    生成代码工具
    Ext 布局(layout)
    编程网站
    EXT 4.0 上传文件
    修改Ext grid 单元格
    Ext.tip.Tooltip 提示
    EXT iframe 应用
    EXT 4.0 TreeGrid 使用
  • 原文地址:https://www.cnblogs.com/zhonghan/p/3216848.html
Copyright © 2011-2022 走看看