正在加载图片...
1/*inistack*/ /*压栈,数据元素x入指针s所指的栈* int push(sgstktp *s, elem if(s->top== MAXLEN-1)/*栈满,返回 False*/ return(False) stack[+s->top]=x;/*栈不满,执行入栈操作*/ return(Ture: I /=push*/ /*栈顶元素出栈* elemtype pop (sgstktp *s if(s->top<0)/*如果栈空,返回空值* elem x=Null elem. y=Null elem. dir=Null return(elem) lse Is->top- return(s-> stack[s-top+1]);/*栈不空,返回栈顶元素*/ /*初始化队列*/ oid iniqueue(queuetp s s-> fornt=1;/为直观,设置队头在数组下标为1处*/ s->rear= 1 /*iniqueue*/ /*寻找迷宫中最短路径 int shortpath (int maze[][N2], struct moved move[, queuetp *p I int i, j, dir, x,y p> queue[1].x=1;/口点坐标入队列 p->queue[1]. pre=o maze[1][1]=-1;/设置入口点以到达 while(p-> front<=p-rear)//当队列不空时循环 (i=p-> queue[p- front].x;/j,i为出发点 >p->queue [p->fornt} /*inistack*/ /*压栈,数据元素 x 入指针 s 所指的栈*/ int push(sqstktp *s,elemtype x) { if (s->top= =MAXLEN-1) /*栈满,返回 False*/ return(False); else { s->stack[++s->top] =x; /*栈不满,执行入栈操作*/ return(Ture);} } /*push*/ /*栈顶元素出栈*/ elemtype pop(sqstktp *s) { elemtype elem; if (s->top<0) /*如果栈空,返回空值*/ { elem.x=Null; elem.y=Null; elem.dir=Null; return(elem); } else {s->top- -; return(s->stack[s->top+1]); /*栈不空,返回栈顶元素*/ } }/*pop*/ /*初始化队列*/ void iniqueue(queuetp *s) { s->fornt=1; /*为直观,设置队头在数组下标为 1 处*/ s->rear=1; } /*iniqueue*/ /*寻找迷宫中最短路径 int shortpath(int maze[][N2],struct moved move[],queuetp *p) { int i,j,dir,x,y; p->queue[1].x=1;//入口点坐标入队列 p->queue[1].y=1; p->queue[1].pre=0; maze[1][1]=-1;//设置入口点以到达 while(p->front<=p->rear)//当队列不空时循环 { i=p->queue[p->front].x;//j,i 为出发点 j->p->queue[p->fornt].y;
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有