回旋排列数字矩阵java_回旋矩阵(java算法)---引用至 http://caerun.javaeye.com)

/***========================================

*int i=5;

*1 2 3 4 5

*16 17 18 19 6

*15 24 25 20 7

*14 23 22 21 8

*13 12 11 10 9

*========================================

*int i=6

*1 2 3 4 5 6

*20 21 22 23 24 7

*19 32 33 34 25 8

*18 31 36 35 26 9

*17 30 29 28 27 10

*16 15 14 13 12 11

*========================================*/classsnakePrint {staticintlength=7;staticintvalue=1;staticint[][] snake=newint[length][length];staticDirection lastDirection=Direction.Right;staticenumDirection {

Right, Down, Left, Up;

}publicstaticvoidinitialArray() {introw=0, line=0;for(intc=0; c

snake[row][line]=value;

lastDirection=findDirection(row, line);switch(lastDirection) {caseRight:

line++;break;caseDown:

row++;break;caseLeft:

line--;break;caseUp:

row--;break;default:

System.out.println("error");

}

value++;

}

}staticDirection findDirection(introw,intline) {

Direction direction=lastDirection;switch(direction) {caseRight: {if((line==length-1)||(snake[row][line+1]!=0))

direction=direction.Down;break;

}caseDown: {if((row==length-1)||(snake[row+1][line]!=0))

direction=direction.Left;break;

}caseLeft: {if((line==0)||(snake[row][line-1]!=0))

direction=direction.Up;break;

}caseUp: {if(snake[row-1][line]!=0)

direction=direction.Right;break;

}

}returndirection;

}publicstaticvoidmain(String[] args) {

initialArray();//display.....for(inti=0; i

System.out.print(snake[i][j]+"");

}

System.out.println();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值