首页 > 代码库 > 环形矩阵
环形矩阵
1 /** 2 * 环形矩阵 3 * 4 * @author jinfeng 5 * 6 */ 7 public class CircleMatrix { 8 9 /**10 * 输入一个整数n,返回填充了数据的环形矩阵11 * 12 * @param n13 * @return14 */15 public static int[][] getCircleMatrix(int length){16 int [][] matrix = new int[length][length];17 18 int count = 1;19 20 // 最外层for循环表示整个矩阵循环的次数,k在增加,l再减小21 for(int k = 0, l = length; k < l; ++k, --l){22 // 矩阵的上面的一行,要考虑不同循环中的起始下标23 for(int i = k; i < l; ++i)24 matrix[k][i] = count++;25 // 矩阵的右边的一列,起始下标从k+1行开始26 for(int i = k + 1; i < l; ++i)27 matrix[i][l - 1] = count++;28 // 矩阵的下面的一行,起始下标从l-2列开始29 for(int i = l - 2; i >= k; --i)30 matrix[l - 1][i] = count++;31 // 矩阵的左边的一列,起始下标从l-2行开始32 for(int i = l - 2; i > k; --i)33 matrix[i][k] = count++;34 }35 36 return matrix;37 }38 39 public static void main(String[] args) {40 int [][] matrix = getCircleMatrix(5);41 for(int i = 0; i < matrix.length; ++i){42 for(int j = 0; j < matrix[0].length; ++j)43 System.out.print(matrix[i][j] + "\t");44 System.out.println();45 }46 }47 48 }
环形矩阵
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。