c++实现邻接矩阵_数据结构.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文档。上传文档
查看更多
c实现邻接矩阵_数据结构

#include stdio.h #define max_num 20 typedef enum DG,DN,UDG,UDN Graphkind; typedef struct ArcCell int adj; char *info; ArcCell,AdjMatrix[max_num][max_num]; typedef struct char vexs[max_num];//顶点向量 AdjMatrix arcs;//定义邻接矩阵 int vexnum;//定义图当前的定点数 int arcnum;//定义图当前的弧数 Graphkind kind;//图的种类标志 MGraph; void CreateDG_DN MGraph *G ; void CreateUDN_UDG MGraph *G ; void CreateGraph MGraph *G ; int LocateVex MGraph *G,char c ; void DisplayGraph MGraph *G ; void main MGraph G; CreateGraph G ; DisplayGraph G ; void CreateGraph MGraph *G printf 输入图的类型 DG,DN,UDG,UDN对应选择0,1,2,3 : ; scanf %d,G- kind ; switch G- kind case DG:CreateDG_DN G ;break; case DN:CreateDG_DN G ;break; case UDG:CreateUDN_UDG G ;break; case UDN:CreateUDN_UDG G ;break; default:break; void CreateDG_DN MGraph *G int i,j,k,w; char v[2],c[10]; if G- kind 0 printf CreateDG 有向图 \n ; else printf CreateDN 无向图 \n ; printf 输入顶点数和边数 弧数 :\n ; scanf %d%d,G- vexnum,G- arcnum ; printf 顶点数为%d,边数 弧数 为%d\n,G- vexnum,G- arcnum ; printf 输入每个顶点的数据:\n ; scanf %s,c ;//输入顶点信息 for i 0;i G- vexnum;i++ G- vexs[i] c[i]; for i 0;i G- vexnum;i++ for j 0;j G- vexnum;j++ G- arcs[i][j].adj 0; G- arcs[i][j].info NULL;//可以自己定义赋值 //初始化矩阵 for k 0;k G- arcnum;k++ printf 输入邻接第%d条边 弧 两顶点:,k+1 ; scanf %s,v ; //printf 输入边权值: ; //scanf %d,w ; i LocateVex G,v[0] ; j LocateVex G,v[1] ; G- arcs[i][j].adj 1; if G- kind 1 G- arcs[j][i] G- arcs[i][j];//无向图是对角矩阵 void CreateUDN_UDG MGraph *G int i,j,k,w; char v[2],c[10]; if G- kind 3 printf CreateUDN 无向网 \n ; else printf CreateUDG 有向网 \n ; printf 输入顶点数和边数 弧数 :\n ; scanf %d%d,G- vexnum,G- arcnum ; printf 顶点数为%d,边数 弧数 数为%d\n,G- vexnum,G- arcnum ; printf 输入每个顶点的数据:\n ; scanf %s,c ;//输入顶点信息 for i 0;i G- vexnum;i++ G- vexs[i] c[i]; for i 0;i G- vexnum;i++ for j 0;j G- vexnum;j++ G- arcs[i][j].adj 0; G- arcs[i][j].info NULL;//可以自己定义赋值 //初始化矩阵 for k 0;k G- arcnum;k++ printf 输入邻接第%d条边 弧 两顶点:,k+1 ; scanf %s,v ; printf 输入边 弧 权值: ; scanf %d,w ; i LocateVex G,v[0] ; j LocateVex G,v[

文档评论(0)

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

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

1亿VIP精品文档

相关文档