參考:《**資料結構》,胡昭民著
/* 老鼠走迷宮 鏈棧實現 */
#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...