迷宮程式簡單實現

2021-04-07 07:50:16 字數 1198 閱讀 1801

//這個程式是將乙個迷宮的程式列印出來,具體的操作我會在下面的程式中具體的

//給出來,其中分為兩乙個小的程式,乙個是這個檔案,另乙個是乙個以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個方向,上下左右,判斷哪個方向能走通,那就沿著那條路繼續走,走到 死路 那就返回到第一次分叉的路口,換個方向繼續走.話不多說,...