长春大学课程设计内页精选.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文档。上传文档
查看更多
目 录 1.设计目的与任务 2 2.算法设计 2.1设计思想 2 2.2设计表示 4 3.用户手册 4 4.测试数据及测试结果 4 5.课程设计总结 5 程序清单 5 1.设计目的与任务 1.1设计目的 设计出一个有关邻接表的算法,能快速的计算出有向图的入度。 1.2设计任务 采用邻接表方式存储有向图,设计并实现算法:求解有n个顶点的有向图各顶点(用1~n表示)的入度。 2.算法设计 2.1设计思想 (1)数据结构设计 在本次算法设计中,我主要运用了3个结构体类型,如下: typedef struct arcnode { int weizhi;//该边所指的顶点的位置 struct arcnode *next; }arcnode; typedef struct vnode { type data;//顶点信息 arcnode *firstarc;//指向第一条依附该顶点的边的指针 }vnode,adjlist[maxsize]; typedef struct { int vexnum,arcnum; adjlist a; }graph; 还运用了几个指针类型,举例如下: void create(graph G) { cout请输入图的顶点个数:; cinG.vexnum; cout请输入顶点的信息(字符表示):endl; for(int i=1;i=G.vexnum;i++) { cinG.a[i].data; G.a[i].firstarc=NULL; } for(i=1;i=G.vexnum;i++) { int k=0; int n; cout请输入与顶点G.a[i].data相联通的顶点号(以大于顶点的数结束此次输入):; while(cinnG.vexnum=n=1) //以小于大于顶点的数结束输入 { k++; arcnode *p; if(k==1) //第一个边表节点 { p=new arcnode; p-next=NULL; p-weizhi=n; G.a[i].firstarc=p; } else { arcnode *s; s=new arcnode; s-weizhi=n; s-next=NULL; p-next=s; p=s; } //cout请输入与顶点G.a[i].data相联通的顶点号(以小于1的数或者大于顶点的数结束此次输入):; } } } (2)算法设计 先是根据邻接表的顶点个数n,创建一个int型的数组a[n](用来存储各顶点的入度),把a[n]中的每一项置为0。然后再邻接表遍历一下,先是顶点遍历,然后弧遍历。 那么由上图可得如下邻接表: 在建立有向图的邻接表的时候,操作如下: a.确定图的顶点个数和边的个数;? b.输入顶点信息存储在顶点表中,并初始化该顶点的边表; c.依次输入边的信息并将边所对应的邻接点信息存储在边表中; d.输入边所依附的两个顶点的序i和j; e.生成新的邻接点序号为j的边表结点s;???????? f.将结点s插入到第i个边表的头部; (2)函数接口说明: typedef struct arcnode typedef struct vnode typedef struct int vexnum,arcnum; void create(graph G) int getchudu (graph G,int n) //求有向图的第n个顶点入度 void getrudu(graph G,int n) //打印有向图 void print(graph G) void main() 3.用户手册 1.本程序的运行环境为Windows7/8/10操作系统,执行文件为Visual C++ 6.0.exe。 2.进入演示程序后,即显示文本方式的用户界面。 3.在完成上面两步的输入后按enter键便能得到程序的运行结果,即给出题目所求的各顶点的入度。(例如:某题操作运行后结果如下:) 4.测试数据及测试结果 测试数据如下: 7 9 1 2 2 3 2 5 2 6 3 5 4 3 5 2 5 4 6 7 7 9 1 2 6 7 7 9 程序运行结果如下: 5.课程设计总结 在刚刚开始写程序时,根本无从下手

文档评论(0)

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

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

1亿VIP精品文档

相关文档