使用栈的迷宫算法java版代码
本文为大家分享了使用栈的迷宫算法java版,主要考察栈的使用,供大家参考,具体内容如下
主要思路如下:
do{
if(当前位置可通过){
标记此位置已走过;
保存当前位置并入栈;
if(当前位置为终点){
程序结束;
}
获取下一个位置;
}
else{
if(栈非空){
出栈;
while(当前位置方向为4且栈非空){
标记当前位置不可走;
出栈;
}
if(当前位置的方向小于4){
方向+1;
重新入栈;
获取下一个位置;
}
}
}
}
while(栈非空);
java代码如下:
importjava.util.Stack;
publicclassMaze{
//栈
privateStackstack=newStack();
//迷宫
privateint[][]maze={
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1},
{1,0,0,0,0,1,1,0,1,1,1,0,0,1,1,1,1},
{1,0,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1},
{1,1,1,0,0,1,1,1,1,1,1,0,1,1,0,0,1},
{1,1,0,0,1,0,0,1,0,1,1,1,1,1,1,1,1},
{1,0,0,1,1,1,1,1,1,0,1,0,0,1,0,1,1},
{1,0,0,1,1,1,1,1,1,0,1,0,0,1,0,1,1},
{1,0,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1},
{1,0,0,1,1,0,1,1,0,1,1,1,1,1,0,1,1},
{1,1,0,0,0,0,1,1,0,1,0,0,0,0,0,0,1},
{1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,0,1},
{1,0,0,0,0,1,1,1,1,1,0,1,1,1,1,0,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
};
//标记路径是否已走过
privateint[][]mark=newint[MAZE_SIZE_X][MAZE_SIZE_Y];
privatestaticfinalintMAZE_SIZE_X=14;
privatestaticfinalintMAZE_SIZE_Y=17;
privatestaticfinalintEND_X=12;
privatestaticfinalintEND_Y=15;
privatevoidinitMark(){
for(inti=0;i
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。