C#以不同算法写的迷宫算法
2009年12月30日
没有评论
简单文字描述如下:
设定当前位置的初值为入口位置;
do{
若当前位置可通,
则{将当前位置插入栈顶; // 纳入路径
若该位置是出口位置,则结束;
// 求得路径存放在栈中
否则切换当前位置的东邻方块为新的当前位置;
}
否则
{
若栈不空且栈顶位置尚有其他方向未被探索,
则设定新的当前位置为: 沿顺时针方向旋转
找到的栈顶位置的下一相邻块;
若栈不空但栈顶位置的四周均不可通,
则{ 删去栈顶位置; // 从路径中删去该通道块
若栈不空,则重新测试新的栈顶位置,
直至找到一个可通的相邻块或出栈至栈空;
}
}while (栈不空)
阅读全文...
最新评论