上面的解法没有用到栈.
其实迷宫算法是栈的典型应用
由于栈的后进先出的特性,使得栈在程序中很多地方会被用到。
好好理解了上面的算法之后,再看看下面用栈来解迷宫算法的思路。
最后面会给一个十进制转二进制的算法理解下栈的应用
求解迷宫的算法可以描述为
while(堆栈不空)
取出栈顶位置作为当前位置
如果 当前位置是终点
则 用堆栈记录从起点到终点的坐标
否则
按照下右上左的顺序寻找可以走的坐标入栈(出栈的顺序就是左上右下)
如果 当前位置四周都走不通
则 当前位置出栈
下面代码是十进制转二进制的算法,也是栈的典型应用