首页 > 代码库 > 九宫格算法
九宫格算法
[java] view plaincopy
- public class sjjg {
- public static void main(String[] args) {
- int n = 5;
- // 0:向右,1:向下,2:向左,3:向上
- int direction = 0;
- // 行,列
- int row = 0, col = 0;
- int num = 0;
- int[] array = new int[n * n];
- while (array[row * n + col] == 0) {
- num++;
- array[row * n + col] = num;
- switch (direction) {
- case 0:
- col++;
- break;
- case 1:
- row++;
- break;
- case 2:
- col--;
- break;
- case 3:
- row--;
- break;
- }
- if (row == n || col == n || row == -1 || col == -1
- || array[row * n + col] != 0) {
- direction++;
- if (direction == 4)
- direction = 0;
- switch (direction) {
- case 0:
- row++;
- col++;
- break;
- case 1:
- row++;
- col--;
- break;
- case 2:
- row--;
- col--;
- break;
- case 3:
- row--;
- col++;
- break;
- }
- }
- }
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < n; j++) {
- System.out.printf("%-3s", array[i * n + j]);
- }
- System.out.println();
- }
- }
- }
九宫格算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。