螺旋數組代碼

package test;

public class LuoXuanArray {
	
	public static void LuoArray(int num,int[][] a){ 
		int k=0;
		int p=0;
		a[0][0]=1;
		for(int i=0;i<=(num-1)/2;i++){//每一圈爲一個循環
			k=num-2*i;
			p=a[i][i];
			if(i>0){
				p=a[i][i-1]+1;
				a[i][i]=p;
			}
			for(int j=i;j<k-1+i;j++){//內層循環,每一層的一行的第一個數字到倒數第二個數字
				a[i][j]=p+j-i;
				a[j][i+k-1]=a[i][j]+k-1;
				a[i+k-1][num-1-j]=a[i][j]+2*(k-1);
				a[num-1-j][i]=a[i][j]+3*(k-1);
			}
		}
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int num=5;
		int[][] a=new int[num][num]; 
		LuoArray(num, a);
		for(int i=0;i<a.length;i++){
			for(int j=0;j<a[0].length;j++){
				System.out.print(a[i][j]+" ");
			}
			System.out.println();
		}
	}

}

打印出來:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章