数据结构学习堆栈

本文基于《数据结构(C语言)》中堆栈章节,探讨如何利用堆栈解决走迷宫问题。实现了走迷宫的代码,但存在一些未完善之处:地图坐标可能出现对调、无法正确处理找不到路径的情况、地图显示方向相反以及输入格式要求特殊。程序使用文件读取地图信息,需要输入地图的长宽和100*100格式的通行/障碍物表示(0为墙,1为可通过)。
摘要由CSDN通过智能技术生成

走迷宫程序

原理是来自于《数据结构(C语言)》清华大学出版社关于堆栈的章节。

具体的实现代码是自己写的。
 目前有一些还没有完善的地方

1、不知道是为什么处理时会出现地图坐标的x,y对调的情况。通过修改读入和输出的信息糊弄过去Orz。

2、不能成功查找时,返回时空指针(设计时是这样的),可是不能输出NOTFOUND提示信息。

3、迷宫地图格式是(m*n)0~n,0~m。输入是若要找第1行第11个块则要输入0 10 提示信息。

4、地图是反向的,比如说输入的地图信息为1 0 1 在电脑里是   1  1  1 .

                                                                       1 1 1.                     1  0  1

提示:该版本是在用文件读取来获得地图的信息(记得输入地图是多长(x)和多宽(y),100*100格式,0为不可通过即墙,1为可通过)。

#include <stdio.h>
#include <stdlib.h>
enum distion{east=1,north=2,west=3,south=4};
typedef struct position
{
    int x;
    int y;
    //上一个通道块来到这个通道块的方向
}PosType;
int map_cpy[100][100];//不可通过的路径块为0,可通过的为1
typedef struct Maze{
    int map[100][100];//记录迷宫图像100*100格式
    int width;//迷宫宽度
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值