老鼠走迷宮

2021-08-07 23:55:58 字數 1282 閱讀 5999

參考:《**資料結構》,胡昭民著

/* 老鼠走迷宮 鏈棧實現 */

#include

#include

#define north maze[x-1][y]//定義向北移動位置

#define south maze[x+1][y]//定義向南移動位置

#define west maze[x][y-1]//定義向西移動位置

#define east maze[x][y+1]//定義向東移動位置

#define exitx 8//定義出口x座標

#define exity 10//定義出口y座標

struct

list

;typedef

struct

list node;

typedef node* link;

int maze[10][12] = ;

link push(link stack,int x,int y)

newnode->x = x;

newnode->y = y;

newnode->next = stack;

stack = newnode;

return

stack;

}link pop(link stack,int* x,int* y)

else

*x = -1;

return

stack;

}int checkexit(int x,int y,int ex,int ey)

return0;}

int main()

while(x<=exitx && y<=exity)

else

if(south == 0)

else

if(west == 0)

else

if(east == 0)

else

if(checkexit(x,y,exitx,exity) == 1)//檢查是否走到出口,座標(exitx,exity)

break;

else

}printf("----------------------\n");

printf("[6表示老鼠走過的路線]\n");

printf("----------------------\n");

//列印老鼠走過後的迷宮圖

for(i=0;i<10;i++)

system("pause");

return

0;}

老鼠走迷宮

說明 老鼠走迷宮是遞迴求解的基本題型,我們在二維陣列中使用2表示迷宮牆壁,使用1來表示老鼠的行走路徑,試以程式求出由入口至出口的路徑。解法 老鼠的走法有上 左 下 右四個方向,在每前進一格之後就選乙個方向前進,無法前進時退回選擇下乙個可前進方向,如此在陣列中依序測試四個方向,直到走到出口為止,這是遞...

老鼠走迷宮

老鼠走迷官 一 說明 老鼠走迷宮是遞迴求解的基本題型,我們在二維陣列中使用2表示迷宮牆壁,使用1來表 示老鼠的行走路徑,求出由入口至出口的路徑。解法 老鼠的走法有上 左 下 右四個方向,在每前進一格之後就選乙個方向前進,無法前 進時退回選擇下乙個可前進方向,如此在陣列中依序測試四個方向,直到走到出口...

老鼠走迷宮

1 找一組解 include define r 4 define c 4 表示移動的四個方向 int move 4 2 表示迷宮 int m r 2 c 2 表示走過的路 int t r 2 c 2 int maze int x,int y 往四個方向走 for int i 0 i 4 i retu...