本章内容:OOP思想的应用,具体代码输出
文章目录
第一题:求迷宫路径(深度优先遍历)
问题描述如下:
在使用OOP思想解决问题的时候,需要从具体的问题场景中。抽象出来哪些实体,在计算机上描述这个实体,那也就是类 。根据实体间的关系,也就得出了类与类之间的关系。
分析:迷宫行列,由人给出。所以说这个描述迷宫的二维数组是动态开辟出来的。迷宫整个地图可以看做是一个类(行、列、以及迷宫节点类型的二级指针:动态开辟二维数组)
迷宫是由一个个的具体位置节点组成,这每一个节点可以抽象成一个类(属性:横坐标、纵坐标、节点值、一个方向数组,表示这个节点四个方向的可走性);
接下来的问题就是:如何深度搜索一个迷宫路径?
答:如果使用非递归来实现深度搜索,那么肯定是需要一个栈了。如果当前节点可以走(其值为0),然后这个节点就可以放入到这个栈中了。然后开始查看栈顶元素,查看其4