//這個程式是將乙個迷宮的程式列印出來,具體的操作我會在下面的程式中具體的
//給出來,其中分為兩乙個小的程式,乙個是這個檔案,另乙個是乙個以head.cpp檔案
//為main函式的檔案,好了,程式開始了
#include "iostream.h"
#include "malloc.h"
#define error 0
#define ok 1
#define null 0
typedef int elemtype ;
typedef int status;
#define a 4 //定義乙個陣列的長度(6*6的陣列)
int array[a][a];
typedef struct lnodemap,*mapth;
mapth coutmap=0;//全域性變數
status push(mapth &l,mapth p)
mapth q;
q=(mapth)malloc(sizeof(map));
q->direct=p->direct;
q->length=p->length;
q->next=p->next;
q->width=p->width;
q->next=l->next;
l->next=q;
l->length++;
return ok;
}status pull(mapth &l,mapth &q)
else
}status empty(int length,int width)
status coutnode(mapth &l,mapth &first)
return ok;
}else return error;
}status del(mapth &l,mapth &first)
return ok;
}status migong(mapth &coutmap)
else
}if(first->direct==1)
else
}if(first->direct==2)
else
}if(first->direct==3)
else}}
while(l&&(l->next!=0))
return ok;
}int main()
實現簡單的迷宮
我們知道棧的特點是 後進先出 first in last out 也就是說只能在棧的尾部進 行壓棧和出棧,而且出棧的時候只能從最後乙個資料開始。所以我們利用棧這個特點,來實現這個迷宮。在這之中我們要採用 回溯 的方法去處理當遇到路徑不通的情況。原理 每找到乙個通路,就將這個資料壓棧,這樣當前位置的上...
迷宮的簡單實現
迷宮 使用乙個二維陣列模擬迷宮,在這裡使用棧結構和回溯的演算法簡單實現迷宮。給定乙個入口,先將入口座標入棧。再對四個方向進行判斷,是否能走,如果能走將下乙個節點入棧。當無路可走時,出棧節點,回溯到上乙個節點進行上一步判斷。當找到乙個出口時 再回溯到上乙個岔路口,尋找另外通路。如果將所有節點出棧,則說...
簡單的實現迷宮問題
在實現迷宮問題,是對棧這種結構進一步的熟悉和使用。首先,可以定義乙個10 10的二維陣列,0代表通路,1代表牆.再定義乙個座標的結構體。開始走迷宮.開始走迷宮的時候,無非就4個方向,上下左右,判斷哪個方向能走通,那就沿著那條路繼續走,走到 死路 那就返回到第一次分叉的路口,換個方向繼續走.話不多說,...