資料結構 迷宮問題(棧和佇列,深搜和廣搜)

2021-09-08 04:28:25 字數 657 閱讀 9294

**:

#include #include #include #include #include using namespace std;

int dx[4]=;//方向

int dy[4]=;

bool vis[6][6];

int total=0;//多少可到達路徑

int sx=1,sy=1;//入口出口座標

int ex=4,ey=4;

int num[10][10];//廣蒐時記錄到達當前點的最少步數

struct p

point[40];//用來記錄可到達路徑

struct pp

path[10][10];//用來記錄最短路徑座標增量,用於回溯輸出最短路徑

char map[6][6]=//地圖

, ,,,

,};bool ok(int x,int y)//推斷當前點是否可走

void dfs(int x,int y,int step)//深搜可到達路徑,引數step對於記錄路徑來說非常重要}}

}void print(int x,int y)//輸出最短路徑

print(x-path[x][y].fx,y-path[x][y].fy);

cout<

棧和佇列迷宮問題

define n 6 int maze n n 通過乙個數字來創造乙個6 6的迷宮,其中 0代表牆,1代表能夠走的路。這裡將陣列通過畫圖軟體畫出來,這裡紅色的1代表迷宮的入口,綠色的 1代表迷宮的出口。這個陣列所建立的迷宮是相對複雜的一種迷宮,首先這個迷宮是存在環的 這幾個1,如果你的迷宮函式只是用...

資料結構 棧和佇列

棧 基礎 知識棧 練習題 佇列 基礎知識 棧示意圖 後進先出 順序棧結構定義 define maxsize 1024 struct stack 操作函式 push 入棧 pop 出棧 struct lstack 鏈棧示意圖 操作函式 push 入棧 pop 出棧 注意 也可以直接呼叫系統已經寫好的庫...

資料結構 棧和佇列

本章的基本內容是 兩種特殊的線性表 棧和佇列 從資料結構角度看,棧和佇列是操作受限的線性表,他們的邏輯結構相同。從抽象資料型別角度看,棧和佇列是兩種重要的抽象資料型別。p棧 限定僅在表的一端進行插入和刪除操作的線性表。p允許插入和刪除的一端稱為棧頂,另一端稱為棧底。p空棧 不含任何資料元素的棧。a ...