欢迎来到天天文库
浏览记录
ID:21792828
大小:110.50 KB
页数:8页
时间:2018-10-24
《数据结构迷宫求解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构上机实验报告实验二:栈和队列学生姓名:蒋映喆学生学号:201086250124学生院系:城南学院学生班级:计算机1001班程序清单:#include#include#include#includetypedefintStatus;#defineOK1#defineERROR0#defineSTACK_INIT_SIZE100#defineSTACKINCREMENT10typedefstruct{introw;intline;}PosType;typedefstruct{
2、intord;PosTypeseat;intdi;}SelemType;typedefstruct{SelemType*base;SelemType*top;intstacksize;}SqStack;StatusInitStack(SqStack&S){S.base=(SelemType*)malloc(STACK_INIT_SIZE*sizeof(SelemType));if(!S.base)exit(-2);S.top=S.base;S.stacksize=STACK_INIT_SIZE;returnOK;}StatusPush(SqStack&
3、S,SelemTypee){if(S.top-S.base>=S.stacksize){S.base=(SelemType*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(SelemType));if(!S.base)exit(-2);S.top=S.base+S.stacksize;S.stacksize+=STACKINCREMENT;}*S.top++=e;returnOK;}StatusPop(SqStack&S,SelemType&e){if(S.top==S.base)return0;
4、e=*--S.top;returnOK;}StatusStackEmpty(SqStackS){if(S.top==S.base)returnOK;elsereturnERROR;}voidInitMaze(intmaze[11][11]){srand((int)time(NULL));for(inti=0;i<10;i++)maze[0][i]=0;for(i=1;i<9;i++){maze[i][0]=1;for(intj=1;j<9;j++){maze[i][j]=rand()%2;}maze[i][9]=1;}for(i=0;i<10;i++)
5、maze[9][i]=1;}voidOutputmazeFirst(intmaze[11][11]){printf("");printf("所建迷宫为(#为外墙):");for(inti=0;i<10;i++)printf("#");printf("");for(i=1;i<9;i++){printf("#");for(intj=1;j<9;j++)printf("%d",maze[i][j]);printf("#");printf("");}for(i=0;i<10;i++)printf("#");printf("");}
6、voidOutputmazeEnd(intmaze[11][11],SqStackS){printf("迷宫通路路径为:");SelemType*p=S.base;while(p!=S.top){maze[p->seat.row][p->seat.line]=2;p++;}for(inti=0;i<10;i++)printf("#");printf("");for(i=1;i<9;i++){printf("#");for(intj=1;j<9;j++){if(maze[i][j]==2)printf("*");elseprintf(""
7、);}printf("#");printf("");}for(i=0;i<10;i++)printf("#");printf("");}StatusPass(intmaze[11][11],PosTypeCurPos){if(maze[CurPos.row][CurPos.line]==0)returnOK;elsereturnERROR;}voidMarkFoot(intmaze[11][11],PosTypeCurPos){maze[CurPos.row][CurPos.line]=1;}PosTypeNextPos(PosTypeCurP
8、os,intDir){PosTypeReturnPos;switch(Dir){case1:R
此文档下载收益归作者所有