資料結構 迷宮

2022-02-04 07:55:18 字數 879 閱讀 8386

// 迷宮問題.cpp : 定義控制台應用程式的入口點。

#include "stdafx.h"

#define m 4

#define n 4

#define maxsize 100

int mg[m + 2][n + 2] = ,

, ,, , };

struct

stack[maxsize],path[maxsize]; // 定義棧和最短路徑的陣列

// 初始化

int top = -1;

int count = 1;

int minlen = maxsize;

void mgpath()

}printf_s("\n");

if (top + 1 < minlen)

minlen = top + 1;

}// 開始回溯路徑,尋找其他路徑

mg[stack[top].i][stack[top].j] = 0;

top--;

i = stack[top].i;

j = stack[top].j;

di = stack[top].di;

} find = 0;

while (di<4&&find==0)

if (mg[i][j] == 0)

}if (find == 1) // 找到下乙個可走節點

else // 沒有路徑可走,則退棧(所有資訊下次入棧時重新初始化)

}// 列印迷宮最短路徑。

if (minlen >= maxsize)

else

} }}

int main()

資料結構之迷宮

這個主要是練習棧的使用,當時編了好長時間呢。以乙個mxn的長方陣表示迷宮,0和1分別表示迷宮中的通路和障礙。設計乙個程式,對任意設定的額迷宮,求出一條從入口到出口的通路,或得出沒有通路的結論。如下 include iostream using namespace std int east 1 int...

資料結構 迷宮問題

迷宮問題的總體思路是,從迷宮的入口出發,沿著某乙個方向向前試探,若能夠行得通,則繼續往前走,否則原來返回,再換另乙個方向繼續試探,直到所有可能的通路都被試探過,為了保證在任何乙個位置都能夠原來返回,需要設定乙個堆疊結構來儲存從入口到當前位置的路徑。maze.h pragma once include...

資料結構 迷宮問題

設計乙個迷宮求解程式,要求如下 以m n表示長方陣表示迷宮,求出一條從入口到出口的通路,或得出沒有通路的結論。能任意設定的迷宮 include using namespace std define maxsize 1000 int mg maxsize maxsize typedef structb...