迷宫求解(有流程图)
一 需求分析
1 以二维数组MazeType表示迷宫,在其周围加一圈围墙;数组中'#'表示障碍,'_'表示通路。
2 程序引导用户初始化迷宫,输入其中的障碍;
3 迷宫的入口和出口可以由用户自己设定。
4 若迷宫有通路,则在其走过的路径上以'.'表示可以通过;
5本程序可以求解多条路径。既在迷宫求解过程中记下所有的走过的位置;
例如:
***********__##**_##**__##**_###**_##**_#**_#####**________***********二 系统设计
1 设定栈的抽象数据类型定义
基本操作:
int InitStack(SqStack &S)
操作结果:构造一个空栈S;
int StackEmpty(SqStack S)
初始条件:栈S已存在。
操作结果:若栈为空则返回TRUE,否则返回FALSE;
GETTOP(S,&e)
初始条件:栈S已经存在;
操作结果:若栈不为空,则以e返回栈顶元素。
int Push(SqStack &S,SElemType e)
初始条件:栈已经存在。
操作结果:在栈的顶部插入新的栈顶元素;
int Pop(SqStack &S,SElemType &e)
初始条件:栈已经存