資料結構 迷宮和棧 C語言

2021-09-02 19:28:10 字數 1868 閱讀 4936

#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 )

迷宮旅行遊戲 專案簡介 迷宮只有兩個門,乙個門叫入口,另乙個門叫出口。乙個騎士騎馬從入口走進迷宮,迷宮中設定很多牆壁,對前進方向形成了多處障礙。騎士需要在迷宮中尋找通路以到達出口。設計思路 在求解過程中,為了保證在到達某一點後不能向前繼續行走 無路 時,能正確返回前一點以便繼續從下乙個方向向前試探,...