三九宝宝网宝宝教育教学论文

数据结构算法c语言迷宫求解

01月02日 编辑 39baobao.com

[C语言选择题求解]去文库,查看完整内容> 内容来自用户:娃娃pwpw C语言文件选择题(答案在最后) 1、标准库函数fgets(s,n,f)的功能是 A)从文件f中读取长度为n的字符串存入指针s所指的内存 B)从文件f中...+阅读

注释非常详细,希望对你有所帮助。#include#include#define M 15 #define N 15 struct mark //定义迷宫内点的坐标类型 { int x; int y; }; struct Element //"恋"栈元素,嘿嘿。。 { int x,y; //x行,y列 int d; //d下一步的方向 }; typedef struct LStack //链栈 { Element elem; struct LStack *next; }*PLStack; /*************栈函数****************/ int InitStack(PLStack &S)//构造空栈 { S=NULL; return 1; } int StackEmpty(PLStack S)//判断栈是否为空 { if(S==NULL) return 1; else return 0; } int Push(PLStack &S, Element e)//压入新数据元素 { PLStack p; p=(PLStack)malloc(sizeof(LStack)); p->elem=e; p->next=S; S=p; return 1; } int Pop(PLStack &S,Element &e) //栈顶元素出栈 { PLStack p; if(!StackEmpty(S)) { e=S->elem; p=S; S=S->next; free(p); return 1; } else return 0; } /***************求迷宫路径函数***********************/ void MazePath(struct mark start,struct mark end,int maze[M][N],int diradd[4][2]) { int i,j,d;int a,b; Element elem,e; PLStack S1, S2; InitStack(S1); InitStack(S2); maze[start.x][start.y]=2; //入口点作上标记 elem.x=start.x; elem.y=start.y; elem.d=-1; //开始为-1 Push(S1,elem); while(!StackEmpty(S1)) //栈不为空 有路径可走 { Pop(S1,elem); i=elem.x; j=elem.y; d=elem.d+1; //下一个方向 while(d(%d,%d,%d)",e.x,e.y,e.d); } return; //跳出两层循环,本来用break,但发现出错,exit又会结束程序,选用return还是不错滴} if(maze[a][b]==0) //找到可以前进的非出口的点 { maze[a][b]=2; //标记走过此点 elem.x=i; elem.y=j; elem.d=d; Push(S1,elem); //当前位置入栈 i=a; //下一点转化为当前点 j=b; d=-1; } d++; } } printf("没有找到可以走出此迷宫的路径\n"); } /*************建立迷宫*******************/ void initmaze(int maze[M][N]) { int i,j; int m,n; //迷宫行,列 [/M] printf("请输入迷宫的行数 m="); scanf("%d",&m); printf("请输入迷宫的列数 n="); scanf("%d",&n); printf("\n请输入迷宫的各行各列:\n用空格隔开,0代表路,1代表墙\n",m,n); for(i=1;i

以下为关联文档:

C语言题目求解选择题你是湖北汽车工业学院的学生吧?这是学校机房无忧考试系统C语言A卷里面的题目吧? 以下给你详解:希望课后能仔细推敲认真考证,不枉汽院学子之身份!以下能正确定义字符串的语句是___...

四道C语言选择题求解题思路展开全部 1.题 说B错是不对的, 几个语句可以同时用逗号分开的, 算是一个表达式. C:%模取操作符左侧操作数应该是int类型的 D: 表达式 a=a+7=c+b错误在于, 它将一个值付给一个表达...

求解两道C语言的选择题第一题: 选“M!=0"。 (M)?(a++);(a--)的意思就是: M如果是真(就是说M不是0,就是M!=0),那么执行a++; M如果是假(就是说M是0,就是说M==0),那么执行a--。 所以很明显,M跟M!=0是等价的。 第...

关于论文页码设置急求解决封面页不要页码目次的几页要I II先说第一个问题:举例:第一页为封面,不要页码,从第二页开始按“I,II”编号第4页开始1.2.3.....word2010依次这样操作:全文先插入页码,把光标放到第1页文档的末尾点击“页面布置”--...

c语言数据结构赋值问题你是传值,不是传址。如下修改,能正确得到理想结果: #include<stdio.h> #include<stdlib.h> //void initstack(struct snode*); struct snode { int data[10]; int top; }; main...

求解 C语言二分法已经改正,可以执行了,但是不知道你的得算多长时间,但是代码可以运行了,你的编码习惯不好,可能是刚开始的原因吧, 多加注意#include<stdio.h> #include<math.h> int main() { doubl...

中班或者大班的科学教案冬天的景象急急急呀求解幼儿园中班科学教案:冬天 教师:屈老师 【设计意图】 无声之间又一个冬天来了,把秋天的最后一丝余温包裹在了冬寒冷的怀抱。但是孩子们却没有忽略这些细小的变化,我说话怎么在冒...

关于转义字符的例题求解printf(" ab c\t de\r\f\tg\n"); printf(" ab c"); 输出" ab c" printf(" ab c\t"); 输出" ab c " c后是制表符就是WORD中的Tab键 printf(" ab c\t de\r"); 输出" ab c de" 光标到a前的空格位...

幼儿园大班音乐教案怎么写啊求解二、活动目标 1、感受乐曲的活泼欢快,学会演唱歌曲。 2、学习用衬词的方法为歌曲的部分乐句伴奏,在多形式的演唱中体验歌唱活动的快乐。三、活动准备伴奏音乐,大灰狼头饰一个,表...

推荐阅读
图文推荐