为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

数据结构迷宫升级版本 Microsoft Word 文档

2012-01-05 9页 doc 93KB 9阅读

用户头像

is_837262

暂无简介

举报
数据结构迷宫升级版本 Microsoft Word 文档#include #include #define M 15//M和N的值可以改,定义一个迷宫大小数组最大空间, #define N 15 /*************栈函数****************/ typedef struct Seat//定义迷宫内点的坐标类型 { int x;//x行,y列 int y; }; typedef struct Element//链栈元素 { Seat seat;//包含坐标(x,y) int d;//记录方向(数字) }; typedef st...
数据结构迷宫升级版本 Microsoft Word 文档
#include #include #define M 15//M和N的值可以改,定义一个迷宫大小数组最大空间, #define N 15 /*************栈函数****************/ typedef struct Seat//定义迷宫内点的坐标类型 { int x;//x行,y列 int y; }; typedef struct Element//链栈元素 { Seat seat;//包含坐标(x,y) int d;//方向(数字) }; typedef struct Lstack//创建链栈单元素 { Element elem;//链栈元素 Lstack *next;//下一个链栈地址 }*PLstack; int Initstack(PLstack &S)//初始化空栈 { S=NULL; return true; } int StackEmpty(PLstack &S)//判断栈是否为空 { if(S==NULL) return true; else return false; } int Pop(PLstack &S,Element &e)//压入新数据元素 { PLstack p; if(!StackEmpty(S)) { e=S->elem; p=S; S=S->next; free(p); return true; } else return false; } int push(PLstack &S,Element e)//栈顶元素出栈 { PLstack p; p=(PLstack)malloc(sizeof(Lstack)); p->elem=e; p->next=S; S=p; return true; } /*************建立迷宫*******************/ int Creatmaze(int maze[M][N]){ int m,n,i,j;//m,n迷宫行,列 printf("请输入要创建迷宫的行数m:"); scanf("%d",&m); printf("请输入要创建迷宫的列数n:"); scanf("%d",&n); printf("请创建%d行%d列迷宫(用空格隔开,0表示通道,1表示墙壁):\n",m,n); for(i=1;i(%d,%d,%s)",e.seat.x,e.seat.y,*p); } printf("\n");//跳出两层循环,本来用break,但发现出错,exit又会结束程序,选用return return true; } if(maze[a][b]==0)//找到可以前进的非出口的点 { maze[a][b]=1;//标记走过此点 elem.seat.x=i; elem.seat.y=j; elem.d=d; push(S1,elem);//当前位置入栈 i=a;//下一点转化为当前点 j=b; d=-1; } d++; } } printf("很遗憾:没有找到通道!\n"); } void main() { Seat start,end;//start,end入口和出口的坐标 int add[4][2]={{0,1},{1,0},{0,-1},{-1,0}};//行增量和列增量 方向依次为东西南北 int maze[M][N]; Creatmaze(maze); printf("请输入迷宫入口坐标(逗号隔开):"); scanf("%d,%d",&start.x,&start.y); printf("请输入迷宫出口坐标(逗号隔开):"); scanf("%d,%d",&end.x,&end.y); MazePath(start,end,maze,add);//找通道 这是对网上一篇程序进行的升级,亮点是坐标表示更好,方向不再是数字而是英文方向单词更易于理解,希望对大家有帮助! 中南民族大学电子信息工程学院10级陈福林
/
本文档为【数据结构迷宫升级版本 Microsoft Word 文档】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索