do{
若当前位置可通,
则{
将当前位置插入栈顶;
若该位置是出口位置,则算法结束;
否则切换当前位置的东邻方块为新的当前位置;
}
否则 {
若栈不空且栈顶位置尚有其他方向未被探索,
则设定新的当前位置为: 沿顺时针方向旋转找到的栈顶位置的下一相邻块;
若栈不空但栈顶位置的四周均不可通,
则{
删去栈顶位置;// 从路径中删去该通道块
若栈不空,则重新测试新的栈顶位置,直至找到一个可通的相邻块或出栈至栈空;
}
若栈空,则表明迷宫没有通路。
}
}while (栈不空);
栈的应用——迷宫求解
最新推荐文章于 2019-02-17 15:11:34 发布