数据结构教程(简答易懂)第六章.pptVIP

  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文档。上传文档
查看更多
数据结构教程(简答易懂)第六章

南京信息职业技术学院 计算机基础教研室 南京信息职业技术学院 计算机基础教研室 第六章 图 6.3 图的邻接表实现 例:图的邻接表 例:图的邻接表 例:图的邻接表 6.3.1 图的邻接表实现 定义图的单链表中邻接结点类型 template class T1 struct node { int num; // 图中结点编号 T1 val; // 边的权值(即求值函数) node *next; //指向链表中下一个结点的指针域 }; 图的邻接表实现 定义图邻接表中顺序存储空间结点类型 template class T1, class T2 struct gpnode { T2 data; //图中的结点值 nodeT1 *link; //指向各单链表第一个结点的指针域 }; 请大家来设计图邻接表类 定义图邻接表类 template class T1, class T2 class Link_GP { private: int nn; // 图中结点个数 gpnodeT1, T2 *gp; //图邻接表数组首地址 public: Link_GP() { gp = NULL;} void creat (int, T2 []); // 键盘输入生成图邻接表 void creat (int,T2 [],char *); //由文件生成图邻接表 void prt (); //输出图邻接表 void dfs_GP (); //纵向优先搜索法遍历图 void bfs_GP (); //横向优先搜索法遍历图 }; 分析函数:键盘输入生成图邻接表 void creat (int, T2 []) { … } char d[5]={A,B,C,D,E}; 由键盘输入生成图邻接表 template class T1, class T2 void Link_GPT1,T2 :: creat (int n, T2 d[]) { nodeT1 *p; int k, m ; // m-结点编号 T1 w ; // 边的权值 nn = n ; // 图的结点个数 gp = new gpnodeT1,T2[nn]; for (k=0; kn; k++) { (gp+k)-data = d[k]; //置结点值 (gp+k)-link = NULL; //置结点指针为空 cout 输入图中第 k 个结点的后件信息: endl; cin m w; //输入后件信息 while (m = 0) { p = new nodeT1; //申请单链表结点 p-num = m; //置后件结点编号 p-val = w; //置边的权值 p-next = (gp+k)-link; //新结点指向原头结点 (gp+k)-link = p; //将新结点插到单链表首部 cin m w; // 继续输入后件信息 } } } 由文件数据生成图邻接表 template class T1, class T2 void Link_GPT1,T2::creat (int n, T2 d[], char * file) { nodeT1 *p; int k, m; T1 w; ifstream infile( file, ios :: in); //打开文件 nn = n; //图中结点个数 gp=new gpnodeT1,T2[nn]; for (k=0; kn; k++) { (gp+k)-data = d[k];

文档评论(0)

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

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

1亿VIP精品文档

相关文档