#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#define mazesize 10
#define ok 1
#define error 0
#define true 1
#define false 0
#define stack_init_size 100
#define stackincrement 10
#define overflow -2
#define maxsize 10
typedef int status;
typedef struct
postype;
typedef struct
selemtype;
typedef struct sqstack;
typedef struct
mazetype;//迷宮的地圖
//棧的初始化
status initstack(sqstack *s)
status clearstack(sqstack *s)
status stackempty(sqstack s)
int stacklength(sqstack s)
status gettop(sqstack s,selemtype *e)
//入棧
status push(sqstack *s,selemtype e)
*s->top++=e;
return ok;
}//出棧
status pop(sqstack *s,selemtype *e)
//列印棧內容,也就是迷宮的路線
void stackprint(sqstack s)
//判斷當前路徑有沒有走過,沒有走過返回1,走過返回0
status pass(mazetype mymaze,postype curpos)
//判斷下一步去**
postype nextpos(postype curpos,int dir)
return next;
}status mazepath(mazetype *maze,postype start,postype end)
curpos=nextpos(curpos,1);
curstep++;
} else
if(e.di<4)//此點還有方向沒有探索
}} }while(!stackempty(s));
return error;
}void main()
;*/ int tu[10][10]=;//
mazetype maze;
srand((unsigned int)time(null));
while(1)
tu[1][1]=1;
printf("原來的迷宮:\n");
for(i=0;i<10;i++)
printf("\n");
} for(i=0;i<10;i++)
for(j=0;j<10;j++)
//為起點賦值
s.cross=1;
s.vertical=1;
//為終點賦值
e.cross=8;
e.vertical=8;
if(!mazepath(&maze,s,e))
printf("無解\n");
else
printf("\n");
} break;
}system("cls");//如果隨即生成的迷宮無解就清屏繼續生成
}}
C語言資料結構 棧實現迷宮
include define max 30 typedef struct box typedef struct stack int map 10 10 int search int beginx,int beginy,int endx,int endy else return 1 find 0 wh...
資料結構 棧 c 迷宮
1,棧的基本操作和迷宮的資料結構 includeusing namespace std define stack init size 100 define stack increment size 100 typedef structposttype 座標結構 typedef struct bloc...
資料結構 棧 迷宮(c )
迷宮旅行遊戲 專案簡介 迷宮只有兩個門,乙個門叫入口,另乙個門叫出口。乙個騎士騎馬從入口走進迷宮,迷宮中設定很多牆壁,對前進方向形成了多處障礙。騎士需要在迷宮中尋找通路以到達出口。設計思路 在求解過程中,為了保證在到達某一點後不能向前繼續行走 無路 時,能正確返回前一點以便繼續從下乙個方向向前試探,...