//base.h
公用的常量和型別
#include
#include
#include
#include
//函式結果狀態**
#define true 1
#define false 0
#define ok 1
#define error 0
#define infeasible -1
#define overflow -2
typedef int status; //函式的返回值
typedef int directivetype; //下乙個通道方向
#define range 100 //迷宮大小
//~2。
//stack.h
#define stack_init_size 100
#define stackincrement 10
棧的順序儲存實現
typedef struct...postype;
typedef struct...selemtype;
typedef struct...sqstack;
棧的基本操作的演算法實現
status initstack(sqstack &s)...
status gettop(sqstack s, selemtype &e )...
status push(sqstack &s, selemtype e)...
* = e;
return ok;
}status pop(sqstack &s, selemtype &e)...
int stackempty(sqstack s)
...//~
3。//maze.h
迷宮程式
迷宮問題演算法: 從入口出發,順著某乙個方向進行探索,若能走通,則繼續
前進;否則沿著原路退回,換乙個方向繼續探索,直至出口位置,求得一條通路,
假如所有可能的通路都探索到而未能達到出口,則所設定的迷宮沒有通路.
說明:可通: 未增走到過的通道快.
#define row 9 //迷宮的行數
#define col 8 //迷宮的列數
typedef struct...mazetype; //迷宮型別
status initmaze(mazetype &maze, int a[col], int row, int col)...
} //加上圍牆
for(int j=0;j<=col+1;j++)...
for(i=0;i<=row+1;i++)...
maze.m = row, maze.n = col;
return ok;
}status pass(mazetype maze,postype curpos)...
status footprint(mazetype &maze,postype curpos)...
status markprint(mazetype &maze,postype curpos)...
selemtype createselem(int step, postype pos, int di)...
postype nextpos(postype curpos, directivetype di)...
return pos;
}status posequare(postype pos1, postype pos2)...
void printmaze(mazetype maze,int row,int col)...
} printf(" "); }}
status mazepath(mazetype &maze,postype start, postype end)...else...
if(e.di<4)...
} }}while(!stackempty(s));
return false;
}//test.cpp
#include "base.h"
#include "stack.h"
#include "maze.h"
測試void main()
... }
postype start,end;
start.row = 1; end.row = 9; = 8;
mazetype maze;
initmaze(maze,a,row,col);
status ok = mazepath(maze,start,end);
if(ok) printmaze(maze,row,col);
else printf("沒有找到通路");}
迷宮資料結構
實驗報告 題目 設計乙個程式,對任意設定的迷宮,求出一條從入口到出口的通路,或得出沒有通路的結論。一 需求分析 1.以二維陣列maze n n 表示迷宮,陣列中以元素值0表示通路,1表示障礙,限定迷宮大小n 100。2.第一行的資料為迷宮的行數m和列數n 從第2行到第m 1為迷宮值,同一行兩個數字之...
資料結構上機報告 迷宮
迷宮求解 小組成員 1 問題提出 利用棧結構實現迷宮求解問題。迷宮求解問題如下 心理學家把乙隻老鼠從乙個無頂蓋的大盒子的入口趕進迷宮,迷宮中設定很多隔壁,對前進方向形成了多處障礙,心理學家在迷宮的唯一出口放置了一塊乳酪,吸引老鼠在迷宮中尋找通路以到達出口,測試演算法的迷宮如下圖所示 2 問題分析及演...
資料結構課程設計報告 迷宮求解問題
課題設計1 迷宮求解 一.需求分析 本程式是利用非遞迴的方法求出一條走出迷宮的路徑,並將路徑輸出。首先由使用者輸入一組二維陣列來組成迷宮,確認後程式自動執行,當迷宮有完整路徑可以通過時,以0和1所組成的迷宮形式輸出,標記所走過的路徑結束程式 當迷宮無路徑時,提示輸入錯誤結束程式。二 概要設計 1.抽...