java簡單的迷宮問題 堆疊的應用

2021-07-25 03:12:07 字數 1495 閱讀 4676

這裡說一下簡單的迷宮問題,老鼠如何在迷宮中起點走到終點,乙個二位陣列maze表示迷宮,maze[i][j]=1表示此處有牆,maze[i][j]=0表示無牆(可以通過),老鼠走過的路線就將其對應值設定為2,這裡提供了乙個起點(1,1)和終點(8,10),陣列內容如下:

上**!(這裡其實沒什麼智慧型性,就像是無頭蒼蠅一樣一直撞到出口)

記錄老鼠走過的路徑

public

class

tracerecord

public

void

insert(int x, int y)

else

}public

void

delete()

node = first;

while (node.next != last)

node.next = last.next;

last = node;

}class node }}

老鼠走迷宮
public

class

maze ,,,

,,,,

,,};public

static

void

main(string args)

system.out.println();

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

else

if (maze[x+1][y] == 0)

else

if(maze[x][y-1] == 0)

else

if(maze[x][y+1] == 0)

else

if (checkexit(x, y, exitx, exity) == 1)

else

}system.out.println("【老鼠走過的路徑(2的部分)】");

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

system.out.println();}}

public

static

intcheckexit(int x, int y, int ex, int ey)

if(maze[x-1][y]==1 || maze[x+1][y]==2 || maze[x][y-1]==1 || maze[x][y+1]==1)

if(maze[x-1][y]==2 || maze[x+1][y]==1 || maze[x][y-1]==1 || maze[x][y+1]==1)

}return

0; }

}

執行結果,是可以看到走出的路線的(值為2的)

迷宮求解問題 堆疊的使用

queue.h define stack init size100 define stackincrement10 define statusbool define error0 define overflow 2 define ok1 struct postype typedef struct s...

簡單的迷宮問題

給你乙個n m的迷宮,這個迷宮中有以下幾個標識 s代表起點 t代表終點 x代表障礙物 代表空地 現在你們涵哥想知道能不能從起點走到終點不碰到障礙物 只能上下左右進行移動,並且不能移動到已經移動過的點 輸入第一行乙個整數t 1 t 10 接下來有t組測試資料,對於每一組測試資料,第一行輸入2個數n和m...

簡單的迷宮問題

學習了資料結構第二章棧後,實驗作業是解決簡單的迷宮問題。假設迷宮只有乙個入口和出口,預設其大小是10x10。const int n 10 迷宮大小是10x10 const int maxsize 100 陣列長度上限,因為預設迷宮大小是10x10,所以路徑最多有100個 class position...