




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上数据结构集中上机报告第一题:迷宫求解(参见教材描述)任务:可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;源程序:#include #include #define M 15 #define N 15 struct mark /定义迷宫内点的坐标类型 int x; int y; ; struct Element int x,y; /x行,y列 int d; /d下一步的方向 ; typedef struct LStack /链栈 Element elem; struct LStack *next; *PLStack; int Ini
2、tStack(PLStack &S)/构造空栈 S=NULL; return 1; int StackEmpty(PLStack S)/判断栈是否为空 if(S=NULL) return 1; else return 0; int Push(PLStack &S, Element e)/压入新数据元素 PLStack p; p=(PLStack)malloc(sizeof(LStack); p-elem=e; p-next=S; S=p; return 1; int Pop(PLStack &S,Element &e) /栈顶元素出栈 PLStack p; if(!StackEmpty(S)
3、e=S-elem; p=S; S=S-next; free(p); return 1; else return 0; void MazePath(struct mark start,struct mark end,int mazeMN,int diradd42) int i,j,d;int a,b; Element elem,e; PLStack S1, S2; InitStack(S1); InitStack(S2); mazestart.xstart.y=2; /入口点作上标记 elem.x=start.x; elem.y=start.y; elem.d=-1; /开始为-1 Push(S
4、1,elem); while(!StackEmpty(S1) /栈不为空 有路径可走 Pop(S1,elem); i=elem.x; j=elem.y; d=elem.d+1; /下一个方向 while(d(%d,%d,%d),e.x,e.y,e.d); return; /跳出两层循环 if(mazeab=0) /找到可以前进的非出口的点 mazeab=2; /标记走过此点 elem.x=i; elem.y=j; elem.d=d; Push(S1,elem); /当前位置入栈 i=a; /下一点转化为当前点 j=b; d=-1; d+; printf(没有找到可以走出此迷宫的路径n); /*
5、建立迷宫*/ void initmaze(int mazeMN) int i,j; int m,n; /迷宫行,列 printf(请输入迷宫的行数 m=); scanf(%d,&m); printf(请输入迷宫的列数 n=); scanf(%d,&n); printf(n请输入迷宫的各行各列:n用空格隔开,0代表路,1代表墙n,m,n); for(i=1;i=m;i+) for(j=1;j=n;j+) scanf(%d,&mazeij); printf(你建立的迷宫为:n); for(i=0;i=m+1;i+) / mazei0=1; mazein+1=1; for(j=0;j=n+1;j+)
6、 maze0j=1; mazem+1j=1; for(i=0;i=m+1;i+) /输出迷宫 for(j=0;j=n+1;j+) printf(%d ,mazeij); printf(n); void main() int stoMN; struct mark start,end; /start,end入口和出口的坐标 int add42=0,1,1,0,0,-1,-1,0;/行增量和列增量 方向依次为东西南北 initmaze(sto);/建立迷宫 printf(输入入口的横坐标,纵坐标逗号隔开n); scanf(%d,%d,&start.x,&start.y); printf(输入出口的横坐标,纵坐标逗号隔开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保养清洗服务合同样本
- 代理产品合同样本
- 众投股合同样本
- 中方汉服出租合同标准文本
- 借贷债权转让合同样本
- 智研咨询发布:复合材料产业百科(附行业现状、发展历程、产业链知识图谱及市场前景分析)
- 2025年三氯蔗糖行业市场规模及主要企业市占率分析报告(智研咨询发布)
- 2025年超级电容器行业市场规模及主要企业市占率分析报告
- 书法培训合作合同范例
- 人事管理合同样本
- 广州2025年广东广州海珠区新港街道第一批雇员招聘5人笔试历年参考题库附带答案详解
- 受限空间安全培训
- 2025届江苏省苏锡常镇四市高三下学期教学情况调(一)(一模)英语+答案
- 专题13 热学计算题(解析版)-2025年高考物理二轮热点题型归纳与变式演练(新高考用)
- (二模)苏北七市2025届高三第二次调研测试语文试卷(含答案)
- 商业地产租赁及运营管理手册
- 2025年(广东省协会 )房屋安全检测鉴定技术培训-机考历年真题考前冲刺题
- 上海海洋大学《微生物学》2023-2024学年第二学期期末试卷
- 法院调解以物抵债协议范文5篇
- Unit 4 Healthy food Part A Let's learn(课件)-2024-2025学年人教PEP版英语三年级下册
- 2025年美丽中国第六届全国国家版图知识竞赛题库及答案(中小学组)
评论
0/150
提交评论