本帖最后由 ylca 于 2016-7-10 00:37 编辑
- private static void myPrintArray(int[][] nums) {
- /**
- * width = 宽度
- * height = 高度
- * circle = 圈数
- * num = 要打印的数值
- * count = 计数器
- */
- for (int width = 0, height = 0, circle = nums.length - 1, count = 0, num = 1;
- count < nums.length; width++, height++, circle--, count++) {
- while (width <= circle - 1) { nums[height][width++] = num++; } // 宽度++ 往右移动赋值
- while (height < circle) {nums[height++][width] = num++; } // 高度++ 往下移动赋值
- while (width > count) {nums[height][width--] = num++; } // 宽度-- 往左移动赋值
- while (height > count) {nums[height--][width] = num++;} // 高度-- 往上移动赋值
- if (circle == count) {nums[height][width] = num; } // 如果圈数等于计数器 对最后一位数进行赋值
- }
- }
复制代码
|
|