实验题目
一、问题描述
输入一个任意大小的迷宫数据,用递归和非递归两种方法求出一条走出迷宫的路径,并将路径输出。
二、实现目标
综合运用递归、栈等数据结构知识,掌握、提高分析、设计、实现及测试程序的综合能力
三、主要功能模块及实现功能
(创建一顺序栈:
PSeqStack Init_SeqStack(void)
判断栈是否为空:
int Empty_SeqStack(PSeqStack S)
在栈顶插入一新元素x:
int Push_SeqStack (PSeqStack S, DataType x)
删除栈顶元素并保存在*x :
int Pop_SeqStack(PSeqStack S ,DataType *x)
销毁栈 :
void Destroy_SeqStack(PSeqStack *S)
利用栈的非递归算法求迷宫路径:
int mazepath(int maze [ ][n+2] ,item move[ ],int x0,int y0)
递归算法求迷宫路径:
int mazepath1(int maze[][n+2],item move[],int x,int y)
主函数:
int main()
{ 出口坐标已定,
利用while循环多次输入入点坐标,
调用mazepath(int maze [ ][n+2] ,item move[ ],int x0,int y0)
输出可走的路径
}
四、主要模块流程图