資源簡介
利用隊列找迷宮的最優解,
入口是(1,1),出口是(M,N)
int mg[M 2][N 2]=
{
{1,1,1,1,1,1,1,1,1,1},
{1,0,0,1,0,0,0,1,0,1},
{1,0,0,1,0,0,0,1,0,1},
{1,0,0,0,0,1,1,0,0,1},
{1,0,1,1,1,0,0,0,0,1},
{1,0,0,0,1,0,0,0,0,1},
{1,0,1,0,0,0,1,0,0,1},
{1,0,1,1,1,0,1,1,0,1},
{1,1,0,0,0,0,0,0,0,1},
{1,1,1,1,1,1,1,1,1,1}
};
代碼片段和文件信息
#include
#define?MaxSize?50?
#define?M?8
#define?N?8
typedef?struct
{???int?ij;????//方塊的位置(ij)?????????
????int?pre;????//本路徑中上一方塊在隊列中的下標???
}SqQueue;?
SqQueue?Qu[MaxSize];
int?front=0rear=0;?
int?mg[M+2][N+2]=
{
????{1111111111}
????{1001000101}
????{1001000101}
????{1000011001}
????{1011100001}
????{1000100001}
????{1010001001}
????{1011101101}
????{1100000001}
????{1111111111}
};
void?print(SqQueue?Qu[]int?front)
{???int?k=0;
????for(int?i=front;i>0;i=Qu[i].pre)
????{
????????printf(“(%d%d)?“Qu[i].iQu[i].j);
????????k++;
????????if(k%5==0)
???????????printf(“\n“);
????}
}
bool?mgpath1(int?xiint?yiint?xeint?ye)
{???int?i?j?di?i1?j1;
????rear++;
????Qu[rear]
- 上一篇:一款c++關機程序(定時關機)
- 下一篇:直流電機調速驅動
評論
共有 條評論