在我们学习数据结构的时候都曾经见过迷宫游戏,迷宫游戏的实现其实并不难,但是,我们在实现每一个算法的时候都应该想一想这个问题的每一个解。最近,博主已经开始重温数据结构啦,记得我们以前学习这里的时候,老师会用队列来实现迷宫最优解的寻找,氮素呢,博主就是这么可爱,博主就是想试试用栈来找一下。
在实现之前让我们先来复习一下栈的特点:first in last out
对于栈这种数据结构我们只能在栈顶对其操作,根据实际情况可将其实现成链式或者顺序结构。但是一般情况下我们都会实现成顺序结构,因为栈的特点导致了顺序结构管理方便,并且CPU缓存利用率更高。下面我们来简单的讲解一下迷宫小游戏
为了避免用户操作的不便性,我们选择将迷宫提前写好放在一个叫做"Maze.h"的文件中
*第一行的两个数字是迷宫的行和列
我们解决迷宫寻路问题的基本思想是回溯。回溯是什么意思呢? 就是说,找不到就回退的思想。今天我们的程序要解决的问题是寻找最优解,所以,迷宫的每一条路我们都要去走一遍,这样,我们才能找到最短的那条路。
我们先来看一下程序是怎么写的(如果喷,请轻点