毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

迷宫问题-数据结构课程设计

更新时间:2007-10-20:  来源:毕业论文
迷宫问题-数据结构课程设计|数据结构课程设计*
Name:迷宫
Author:wujilin
Description:输入时候一圈都应该是# 入口为(1,1) 如果有出口 出口为(M-2,M-2)
Date: 16-07-06 20:54
Copyright:wujilin
*/

#include<stdio.h>
#include<stdlib.h>
#define M 10 //自己规定为10*10的迷宫
#define OK 1
#define ERROR 0
#define OVERFLOW -1
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
int findway(int);
int NextStep(int *, int *, int );
typedef struct
{
int x, y;  //坐标
int dir;  //方向
}ElemType;
typedef struct StackNode//构造栈
{
ElemType *base;
ElemType *top;
int stacksize;
}SqStack;

int InitStack(SqStack *S)//初始化栈
{
S->base=(ElemType *)malloc(STACK_INIT_SIZE*sizeof(ElemType));
if(!S->base)
{
printf("memory allocation failed,goodbye");
exit(1);
}
S->top=S->base;
S->stacksize=STACK_INIT_SIZE;
return OK;
}
int Push(SqStack *S,ElemType e)//进栈操作
{
if(S->top-S->base>=S->stacksize)
{
S->base = (ElemType *)realloc(S->base,(S->stacksize+STACKINCREMENT)*sizeof(ElemType));
if (!S->base)
{
printf("memory allocation failed,goodbye");
exit(1);
}
S->top = S->base+S->stacksize;
S->stacksize += STACKINCREMENT;
}
*S->top++=e;
return OK;
}

int Pop(SqStack *S,ElemType *e)//出栈操作
{
if(S->top==S->base)
{
return ERROR;
}
*e=*--S->top;
//printf("%d\n",e);
return OK;
}

int StackEmpty(SqStack *S)//判断栈是否为空
{
if(S->top==S->base)
return OK;
else
return ERROR;
}
void Input(char b[M][M])//输入时候请注意把一圈都输入为墙即'#'
{

int i, j;

printf("请输入迷宫形状:\n");

for (i = 0; i < M; i++)
{
for (j = 0; j < M; j++)
{
scanf("%c",&b[i][j]);
}
getchar();//吃掉内存中的残留换行符号
}
}

[1] [2] 下一页

迷宫问题-数据结构课程设计下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。