一、实验目的
- 理解栈的抽象数据类型定义及操作特点。
- 掌握顺序栈的存储结构的描述。
- 掌握顺序栈的基本操作的实现方法。
- 理解栈的广泛应用。
二、预备知识 - 阅读课程教材P44~45页内容,掌握栈的逻辑定义及“后进先出”的特点,理解抽象数据类型栈的定义。
- 阅读课程教材P45~47页内容,理解顺序栈的存储特点及存储表示,掌握顺序栈各种基本操作(InitStack、StackEmpty、GetTop、Push、Pop等)的实现方法。
- 阅读课程教材P50~52页内容,理解“迷宫求解”问题的含义,体会求解过程中栈的应用。仔细分析主要实现算法,理解求解步骤和方法。
三、实验内容
**git免费链接 完整代码
按如下要求编写程序,进行调试,写出调试正确的源代码,给出测试结果。
1.完成顺序栈的存储表示,实现顺序栈的各种基本操作,包括InitStack、StackEmpty、GetTop、Push、Pop等操作。
2.利用顺序栈求解迷宫中从入口到出口的一条路径,并输出结果。
说明:
(1)使用二维数组maze描述迷宫,迷宫的规模及初态自定。
(2)路径的输出形式可用文字描述,也可用图形描述。
定义一些代码:
定义类
类的成员函数的一些说明:
这是一些基础方法 用于对栈的操作。
找迷宫的方法(dfs算法)
主函数(创建对象)
运行的一些截图:
1.当入口和终点一样时:
2.终点是可以到达的路径
2.1(8,8)是终点
2.2(8,2)是终点
3.出口不通的情况:
👍点赞👍 + 👀关注👀 + 🤏收藏🤏