数据结构第7章修道士实验报告..docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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) //检查当前情况下

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档