用C语言编写的迷宫算法
存在一个平面迷宫,格式为m*n,每一个方格有一个坐标,已知迷宫有一个入口和一个出口,有一些方格走得通,有一些方格走不通,假设一只老鼠从入口进入,需要找一条通往出口的路径,应该如何走出至出口。若走得通输出路径坐标,若走不通,请输出‘没有出口’。要求是用C语言编程,用栈来做。
第一步:自己设计一个迷宫,设置迷宫的长和宽,确定迷宫中每个坐标,确定入口坐标和出口坐标,确定那些方格可以走得通。
设定当前位置的初值为入口位置;
第二步
设定当前位置的初值为入口位置;
do {
若当前位置可通,
则{ 将当前位置插入栈顶;
若该位置是出口位置、则结束;
否则切换当前位置的东邻方块为新的当前位置;
} 否则
若栈不空且栈顶位置尚有其它方向未经探索,
则设定新的当前位置为顺时针方向旋转找到的栈顶位置
的下一相邻块;
若栈不空但栈顶位置的四周均不可通,
则{ 删去栈顶位置;
若栈不空,则重新测试新的栈顶位置,
直至找到一个可通的相邻块或出栈至空栈;
}
}while (栈不空);
2022-03-13 02:12:14
119KB
走迷宫
C语言
1