数据结构迷宫源代码.doc
《数据结构迷宫源代码.doc》由会员分享,可在线阅读,更多相关《数据结构迷宫源代码.doc(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date数据结构迷宫源代码数据结构迷宫源代码#include #include #include #include #include #define OK 1#define ERROR 0#define NULL 0#define OVERFLOW -2 #define STACK_INIT_SIZE 100#define STACKINCREMENT 10/栈的顺序存储表示
2、typedef struct int x;/*列*/ int y;/*行*/PosType;/坐标位置类型typedef struct int ord;/通道块在路径上的序号 PosType seat;/通道块在迷宫中的坐标位置 int di;/从此通道块走向下一通道块的方向SElemType;/栈的元素类型typedef struct SElemType *base;SElemType *top;int stacksize; /当前已分配的存储空间,以元素为单位SqStack;/基本操作int InitStack(SqStack *S) S-base=(SElemType *)malloc(
3、STACK_INIT_SIZE * sizeof(SElemType); if(!S-base) exit(OVERFLOW); S-top=S-base; S-stacksize=STACK_INIT_SIZE; return OK;/若栈不空,则用e返回S的栈顶元素,并返回OK;否则返回ERRORint GetTop(SqStack *S,SElemType *e) if(S-top=S-base) return ERROR; *e=*(S-top-1); return OK;int Push(SqStack *S,SElemType *e)/插入元素e作为新的栈顶元素 if(S-top-
4、S-base=S-stacksize)/*栈满,追加存储空间*/ S-base = (SElemType *)realloc(S-base,(S-stacksize + STACKINCREMENT) * sizeof(SElemType); if(!S-base) exit(OVERFLOW);S-top=S-base+S-stacksize;S-stacksize+=STACKINCREMENT; *S-top+=*e; return OK;/若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERRORint Pop(SqStack *S,SElemType *e) if(S
5、-top=S-base) return ERROR; *e=*-S-top; return OK;int StackEmpty(SqStack *S) return(S-top=S-base) ;/迷宫程序typedef struct int lie;/*列数*/ int hang;/*行数*/ char a999999;MazeType;/*迷宫类型*/*随机生成迷宫*/int generatemaze( MazeType *maze)int i,j;maze-a00=2; maze-a+maze-hang+maze-lie=3;/*设置外墙*/maze-a0maze-lie=!;maze-
6、amaze-hang0=!;for(j=1;jlie;j+) maze-a0j=!;maze-amaze-hangj=!;for(i=1;ihang;i+) maze-ai0=!;maze-aimaze-lie=!;srand(unsigned)time( NULL );rand(); for(i=1; i hang; i+) for(j=1;jlie;j+) if (rand()=RAND_MAX/4) maze-aij = ; / 暗示出路 else maze-aij =!; /!暗示无出路 return OK;int Pass(MazeType *maze, PosType curpos
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 迷宫 源代码
限制150内