蛇形填数

在n*n的矩阵中填入类似

1     2     3     

8     9     4

7     6     5

import java.util.*;
public class B23
{
	public static void  setValue(int[][] a,int n){
		int x=0;
		int y=0;
		int total=1;
		a[x][y]=1;
		while(total<n*n){
			while(y+1<n&&a[x][y+1]==0){
				a[x][++y]=++total;
			}
			while(x+1<n&&a[x+1][y]==0){
				a[++x][y]=++total;
			}
			while(y-1>=0&&a[x][y-1]==0){
				a[x][--y]=++total;
			}
			while(x-1>=0&&a[x-1][y]==0){
				a[--x][y]=++total;
			}
			
		}
		for(int i=0;i<10;i++){
	    	for(int j=0;j<10;j++){
	    		System.out.print(a[i][j]+" ");
	    	}
	    	System.out.println();
	    }
		
	}
	
	
	public static void main(String[] args)
	{   int[][]a=new int[10][10];
	    setValue(a,10);
	    
		
	}
}

你可能感兴趣的:(java,算法,蛇形矩阵)