- public class sjjg {
-
- public static void main(String[] args) {
-
- int n = 5;
-
-
- 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();
- }
- }
- }
九宫格算法
原文:http://www.cnblogs.com/wikiki/p/4060890.html