資料結構程式設計練習(四)
1 編寫順序棧類,實現其相應功能。
2 利用所編寫的棧類,實現下列應用之一或多個。
(1)十進位制數轉換為八進位制數。
(2)利用棧實現
12+5*(2+3)*6/2-4
的求解(3
)利用棧解決迷宮問題:
乙個迷宮的例項,如右圖所示:
圖中紫色方塊為障礙,不能通行;
白色方塊可以通行;
行進方向4個或8
個;需求出從入口到出口的一條通道。
**實現(迷宮實現時有點問題):
#include "iostream"
#include "cstdio"
using namespace std;
#define max 100
#define a 5
#define b 5
int m[a][b];//迷宮
struct maze
;maze start,end,next;
bool flag=0;
class stack
;//順序棧的初始化
stack::stack()
stack::~stack()
//判空
bool stack::empty()
//判滿
bool stack::full()
//入棧
int stack::push(int x)
{ if(full())
{ cout=0)
obj1.push(n);
obj1.empty();
obj1.full();
obj1.get_top(n);
coutobj1.change(n);
cout<
for(int i=0;i>m[i][j];
cout<
cin>>start.x>>start.y>>end.x>>end.y;
obj1.push(start.x);
obj1.push(start.y);
m[start.x][start.y]=2;
obj1.findmaze(start);
if(!flag)
cout<
迷宮問題(棧)
迷宮問題 棧 棧 是一種簡單的資料結構,它的主要特點就是 先進後出 即就是先壓入棧中的資料需要最後出棧。相當於棧是乙個杯子,最先放進棧中的東西,只能夠最後拿出來。下面對 棧 的特點用圖形象的表示出來。這次所要討論的是基於棧的迷宮問題,當給定乙個迷宮,我們怎樣能夠找出迷宮中的通道呢?如果迷宮的規模比較...
迷宮問題 棧的應用
問題描述 以m n的矩陣表示迷宮圖,數字0代表通路,數字1代表障礙。對於走過的路徑,將數字0替換為數字2,便於檢視通路路徑。計算機解迷宮通常用的是 窮舉求解 方法,即從入口出發,順著某乙個方向進行探索,若能走通,則繼續往前進 否則沿著原路退回 回溯 換乙個方向繼續探索,直至出口位置,求得一條通路。注...
棧的應用 迷宮問題
include define maxsize 100 typedef struct box typedef struct sttype bool mgpath int mg 10 10 int xi,int yi,int xe,int ye 求解路徑為 xi,yi xe,ye int main if...