- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构第7章修道士实验报告.
数据结构
实验报告 第七章
实验名称:修道士野人问题
5.实验收获及思考
遇到的问题:
1.无法编译。
2.不知道选用什么样的数据结构。
3.广度优先遍历结果不正确。
解决办法:
1.通过错误提示,发现均是变量书写错误,改正后解决问题。
2.和同学讨论、上网查询相关资料后确定数据结构。
3.逐步执行程序并查看运行过程的结果,找出问题所在,修改后解决问题。
实验的收获:
通过此次编程感觉收获了好多,又一次复习了图的知识,并亲自编写了广度遍历的程序。同时也意识到知识不能只死学,要学会分析问题,把已经学过的知识用到解决实际问题中,比如这道我们小学就见过的过河问题。
同时编写程序要按部就班,从最基本的做起,如果没有头绪可以上网查阅相关资料,看看其他人是怎么解决这个问题的。多积累相关知识,并多加练习,提高编程能力。
附录:
#includestdio.h
#includestdlib.h
#includemalloc.h
int n,c;
typedef struct
{
int num1;//修道士
int num2;//野蛮人
int an;//表示两岸
}DataType;
DataType fa[5000];
typedef struct Node
{
int dest; //邻接表的弧头结点序号
struct Node *next;
}Edge; //邻接表单链表的结点结构体
typedef struct
{
DataType data; //结点数据元素
int sorce; //邻接表的弧尾结点序号
Edge *adj; //邻接边的头指针
int pre; //指向此点的点的序号
}AdjLHeight; //数组的数据元素类型结构体
typedef struct
{
AdjLHeight a[10000]; //邻接表数组
int numOfVerts; //结点个数
int numOfEdges; //边个数
}AdjLGraph; //邻接表结构体
void AdjInitiate(AdjLGraph *G) //图的初始化
{
int i;
G-numOfEdges=0;
G-numOfVerts=0;
for(i=0;i10000;i++)
{
G-a[i].sorce=i; //置邻接边的弧头结点序号
G-a[i].adj=NULL; //置邻接边单链表头指针初值
G-a[i].data.an=-1;
G-a[i].pre=-1;
}
}
void InsertVertex(AdjLGraph *G, int i, DataType vertex) //在G图中插入结点
{
if( i=0 i10000 )
{
G-a[i].data.num1=vertex.num1;
G-a[i].data.num2=vertex.num2;
G-a[i].data.an=vertex.an;
G-numOfVerts++;
}
else printf(结点越界!\n);
}
void InsertEdge(AdjLGraph *G,int v1,int v2) //在G图中插入边v1,v2
{
Edge *p;
if(v10||v1=G-numOfVerts||v20||v2G-numOfVerts)
{
printf(参数v1或v2越界出错!);
exit(0);
}
p=(Edge *)malloc(sizeof(Edge));/*申请邻接边单链表结点空间*/
p-dest=v2;/*置邻接边弧头序号*/
p-next=G-a[v1].adj;/*新结点插入单链表的表头*/
G-a[v1].adj=p;/*头指针指向新的单链表表头*/
G-numOfEdges++;/*边个数加1*/
}
void AdjDestroy(AdjLGraph *G) { //G图的撤销
int i;
Edge *p,*q;
for(i=0;iG-numOfVerts;i++)
{
p=G-a[i].adj;
while(p!=NULL)
{
q=p-next;
free(p);
p=q;
}
}
}
int check(DataType x) //检查当前情况下
您可能关注的文档
最近下载
- 装表接电实训 低压三相四线电能计量装置配装 课件.pptx VIP
- 3L.01.01 ×× U9 ERP项目-系统上线切换方案.docx VIP
- 北京市工作居住证申请表(标准文档).doc VIP
- 无人机综合管控平台系统.docx VIP
- 2025秋人教版道法八年级上册《第三单元 勇担社会责任》大单元整体教学设计[2022课标].pdf
- 语文二年级上册电子课本.pdf VIP
- T_CCUA 048-2025 政务信息系统运行维护费用定额测算方法.pdf VIP
- 消防水池、人防有限空间专项施工方案全.docx VIP
- 农旅商业计划书1.docx VIP
- DNA03-数字水准仪说明书.pdf VIP
文档评论(0)