// 入口的值赋给 e
e = (ElemType *) malloc ( sizeof(ElemType) );
e->;i=0;
e->;j=0;
e->;to=1;
e->;from=-1;
push(&p,e);
do //栈不为空
{
e = pop(&p); // 出栈
if ( e->;i==exit.i && e->;j==exit.j ) // e 为出口
{
printf("\n路径完成\n"
find=TRUE;
break; // find 赋 TRUE, 跳出循环
}
ne=nextone(e, maze, size); // ne 为下一步
if (ne) // ne 不为空
{
push(&p, e); // 前一步 e 入栈
push(&p, ne); // ne 入栈
}
else
free(e); // ne 为空, 释放 e
}while (!EmptyStack(&p));