数据结构-C语言实现迷宫程序编写

数据结构-C语言实现迷宫程序编写

ID:38369901

大小:40.00 KB

页数:4页

时间:2019-06-11

数据结构-C语言实现迷宫程序编写_第1页
数据结构-C语言实现迷宫程序编写_第2页
数据结构-C语言实现迷宫程序编写_第3页
数据结构-C语言实现迷宫程序编写_第4页
资源描述:

《数据结构-C语言实现迷宫程序编写》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、深圳大学实验报告深圳大学实验报告课程名称:数据结构实验名称:迷宫搜索学院:电子科学与技术学院专业:光信息科学与技术指导教师:吴庆阳报告人:朱腾飞学号:2009160166班级:光信2班实验时间:实验报告提交时间:第4页共4页深圳大学实验报告实验目的:掌握并会应用栈这种数据结构,学会简单的栈操作。实验步骤:1预先画出迷宫图形,然后选定起始点和终点。2编写函数实现栈数据存入和输出,存入函数为push(),栈输出函数为pop()。3打印出寻找路径的过程实验注意事项:在编写pop()函数时,不能只把x,y的数值传进去,否则是无法改变坐标值的实验结论:本程序循

2、环主要出现在打印二维数组,以及路径的追寻方面。所以本程序时间复杂度为O(n*n)+O(n*n)+O(n)程序介绍:本程序主要采用栈的形式来储存迷宫中坐标的坐标值,然后按上下左右的顺序进行遍历,寻找最优路径。程序部分#include#includestructstacknode{intx;inty;structstacknode*next;};typedefstructstacknodestacklist;typedefstacklist*llink;llinkpath=NULL;//栈数据的存入llinkpush(

3、llinkstack,intx,inty){llinknewcode;newcode=(llink)malloc(sizeof(stacklist));if(!newcode){printf("内存分配失败");returnNULL;}newcode->x=x;newcode->y=y;newcode->next=stack;stack=newcode;returnstack;}//栈数据的输出llinkpop(llinkstack,int*x,int*y){llinktop;第4页共4页深圳大学实验报告if(stack!=NULL){top=st

4、ack;stack=stack->next;*x=stack->x;*y=stack->y;free(top);returnstack;}else*x=-1;}//主程序//数字:表示可走的路//数字:表示墙,不通main(){//制定迷宫数组intmigong[7][10]={1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,1,1,0,1,0,1,0,1,1,0,1,1,0,1,0,1,1,1,0,0,1,1,0,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1};

5、inti=0,j=0;intx=5,y=8;printf("迷宫如下所示");for(i=0;i<=6;i++){for(j=0;j<=9;j++)printf("%d",migong[i][j]);printf("");printf("");}while(x!=1

6、

7、y!=1){migong[x][y]=2;if(migong[x-1][y]==0)//向上走{x--;path=push(path,x,y);}elseif(migong[x+1][y]==0)//向下走第4页共4页深圳大学实验报告{x++;path=push(path,x

8、,y);}elseif(migong[x][y-1]==0)//向左走{y--;path=push(path,x,y);}elseif(migong[x][y+1]==0)//向右走{y++;path=push(path,x,y);}else//上下左右都走不通,退回来,并标定退回路线{migong[x][y]=3;path=pop(path,&x,&y);}}migong[x][y]=2;//标示出最后一点printf("3表示曾经走过的路线,2表示走出迷宫路径");printf("在寻找过程中的路线记录如下所示");for(i=0;

9、i<=6;i++){for(j=0;j<=9;j++)printf("%d",migong[i][j]);printf("");printf("");}}第4页共4页

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。