文档详情

云南大学软件学院数据结构实验4.doc

发布:2018-01-07约9.01千字共13页下载文档
文本预览下载声明
实验难度: A □ B □ C □ 序号 学号 姓名 成绩 指导教师 (签名) 学  期:  2017秋季学期 任课教师:       实验题目: 组员及组长:      承担工作:     联系电话:         电子邮件:   完成提交时间: 年 月 日   一、【实验构思(Conceive)】(10%) (本部分)Design)】(20%) (本部分) struct Coor { int row; int column; int direction; }; 2、定义方向: struct Move { int row; int column; }; 3、定义/链表结点: struct LinkNode { Coor data; LinkNode *next; }; 4、定义栈: class stack { private: LinkNode *top; public: stack(); ~stack(); void Push(Coor data); Coor Pop(); Coor GetPop(); void Clear(); bool IsEmpty(); }; 5.流程图: 三、【实现(Implement)】(30%) (本部分 1.定义迷宫定义移动的4个方向: Move move[4]={{0,1},{1,0},{0,-1},{-1,0}}; 2.几个函数功能的描述: stack(); //构造函数,置空栈 ~stack(); //析构函数 void Push(Coor data); //把元素data压入栈中 Coor Pop(); //使栈顶元素出栈 Coor GetPop(); //取出栈顶元素 void Clear(); //把栈清空 bool IsEmpty(); //判断栈是否为空 bool Mazepath(int **maze,int m,int n); //寻找迷宫maze中从(0,0)到(m,n)的路径 //到则返回true,否则返回false void PrintPath(stack p); //输出迷宫的路径 void PrintPath2(int m,int n,stack p,int **maze); //输出路径 void Restore(int **maze,int m,int n); //恢复迷宫 3.主函数实现: int main() { system(color f5); int m=0,n=0; int **maze; //定义二维指针存取迷宫 cout **************欢迎使用迷宫游戏模拟程序************* endl; cout * 软件工程 * endl; cout * 孙越 * endl; cout * 20161120232 * endl; cout *************************************************** endl; maze=GetMaze(m,n); //调用GetMaze函数,得到迷宫 if(Mazepath(maze,m,n)) //调用Mazepath函数获取路径 cout迷宫路径探索成功!\
显示全部
相似文档