资源简介
使用vc++ 6.0进行编译,绝对经典的数据结构课程实验,附带实验报告
代码片段和文件信息
#include
#define M 8
#define N 8
#define MaxSize 100
int mg[M+2][N+2]={
{1111111111}
{1001000101}
{1001000101}
{1000011001}
{1011100001}
{1000100001}
{1010001001}
{1011101101}
{1100000001}
{1111111111}
};
struct
{
int i;int j;int di;
}Stack[MaxSize]Path[MaxSize];
int top=-1;
int count=1;
int minlen=MaxSize;
void mgpath()
{
int ijdifindk;
top++;
Stack[top].i=1;
Stack[top].j=1;
Stack[top].di=-1;
mg[1][1]=-1;
while(top>-1)
{
i=Stack[top].i;
j=Stack[top].j;
di=Stack[top].di;
if(i==M && j==N)
{
printf(“%8d: “count++);
for(k=0;k<=top;k++)
{
printf(“(%d%d) “Stack[k].iStack[k].j);
if((k+1)%10==0)printf(“\n\t “);
}
printf(“\n“);
if(top+1 {
for(k=0;k<=top;k++)
Path[k]=Stack[k];
minlen=top+1;
}
mg[Stack[top].i][Stack[top].j]=0;
top--;
i=Stack[top].i;
j=Stack[top].j;
di=Stack[top].di;
}
find=0;
while(di<8 && find==0)
{
di++;
switch(di)
{
case 0:i=Stack[top].i-1;j=Stack[top].j;break;
case 1:i=Stack[top].i;j=Stack[top].j+1;break;
case 2:i=Stack[top].i+1;j=Stack[top].j;break;
case 3:i=Stack[top].i;j=Stack[top].j-1;break;
}
if(mg[i][j]==0)find=1;
}
if (find==1)
{ Stack[top].di=di;
top++;
Stack[top].i=i;
Stack[top].j=j;
Stack[top].di=-1;
mg[i][j]=-1;
}
else
{
mg[Stack[top].i][Stack[top].j]=0;
top--;
}
}
printf(“最短路径如下:\n“);
printf(“长度: %d\n“minlen);
printf(“路径: “);
for(k=0;k {
printf(“(%d%d) “Path[k].iPath[k].j);
if((k+1)%10==0)printf(“\n\t“);
}
printf(“\n“);
}
void main()
{
printf(“迷宫所有路径如下:\n“);
mgpath();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-05-20 09:34 迷宫求解\
文件 1861 2010-10-29 19:01 迷宫求解\1.cpp
文件 3341 2010-10-29 17:58 迷宫求解\1.dsp
文件 527 2010-10-29 19:01 迷宫求解\1.dsw
文件 33792 2010-10-29 19:01 迷宫求解\1.ncb
文件 48640 2010-10-29 19:01 迷宫求解\1.opt
文件 729 2010-10-29 17:58 迷宫求解\1.plg
目录 0 2011-11-28 19:08 迷宫求解\Debug\
文件 155708 2010-10-29 17:58 迷宫求解\Debug\1.exe
文件 161856 2010-10-29 17:58 迷宫求解\Debug\1.ilk
文件 7912 2010-10-29 17:58 迷宫求解\Debug\1.obj
文件 203768 2010-10-29 17:58 迷宫求解\Debug\1.pch
文件 320512 2010-10-29 17:58 迷宫求解\Debug\1.pdb
文件 99328 2010-12-30 18:41 迷宫求解\Debug\vc60.idb
文件 135168 2010-12-25 09:50 迷宫求解\Debug\vc60.pdb
文件 553030 2010-10-31 20:10 迷宫求解\Debug\迷宫 - 副本.exe
文件 812892 2010-10-31 20:10 迷宫求解\Debug\迷宫 - 副本.ilk
文件 350376 2010-10-31 20:10 迷宫求解\Debug\迷宫 - 副本.obj
文件 2088716 2010-10-31 20:03 迷宫求解\Debug\迷宫 - 副本.pch
文件 1123328 2010-10-31 20:10 迷宫求解\Debug\迷宫 - 副本.pdb
文件 532550 2010-10-26 16:38 迷宫求解\Debug\迷宫 多方向.exe
文件 782700 2010-10-26 16:38 迷宫求解\Debug\迷宫 多方向.ilk
文件 261847 2010-10-26 16:38 迷宫求解\Debug\迷宫 多方向.obj
文件 1993776 2010-10-26 16:38 迷宫求解\Debug\迷宫 多方向.pch
文件 1082368 2010-10-26 16:38 迷宫求解\Debug\迷宫 多方向.pdb
文件 528447 2010-10-17 18:01 迷宫求解\Debug\迷宫.exe
文件 782228 2010-10-17 18:01 迷宫求解\Debug\迷宫.ilk
文件 258888 2010-10-17 18:01 迷宫求解\Debug\迷宫.obj
文件 2002912 2010-10-17 18:01 迷宫求解\Debug\迷宫.pch
文件 1082368 2010-10-17 18:01 迷宫求解\Debug\迷宫.pdb
文件 244328 2010-10-26 16:26 迷宫求解\Debug\迷宫多路径.pch
............此处省略25个文件信息
评论
共有 条评论