資源簡介
數據結構 c語言
do{
if(pass(curpos,a)){//當前位置可通
footprint(a,curpos);//留下足跡;
e->ord=curstep;
e->seat=curpos;
e->di=1;
push(s,e);
if(curpos->seatx==end->seatx&&curpos->seaty==end->seaty)break;//到達終點(出口)
nextpos(curpos
代碼片段和文件信息
#include?
#include?
#define?SIS?100???//存儲空間初始分配量
#define?N?10??????//存儲空間分配增量
typedef?struct{
???int?seatx;
???int?seaty;
}sit;//當前訪問的坐標
typedef?struct{
???int????ord;???????//通道塊在路徑上的“序號”
???sit????*seat;?????//通道塊在迷宮中的“坐標位置”
???int????di;????????//從此通道塊走向下一通道塊的“方向”di為下個尋找的方向
}finds;
typedef?struct{
???finds??*base;
???finds??*top;
???int????size;
}stack;
void?initstack(stack?*s){
????finds?*link*end;
????s->base=s->top=link=(finds?*)malloc(SIS*sizeof(finds));
????end=link+SIS-1;
????for(;link<=end;link++)
????link->seat=(sit?*)malloc(sizeof(sit));
????s->size=SIS;
}//堆棧初始化
void?push(stack?*sfinds?*find){
????finds?*link*end;
????if(s->top-s->base>=s->size){
???????s->base=(finds?*)realloc(s->base(s->size+SIS)*sizeof(finds));
?????
- 上一篇:基于STM32F103和AMG8833紅外測溫
- 下一篇:C++ 模擬電子時鐘程序
評論
共有 條評論