- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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[
您可能关注的文档
最近下载
- 《红楼梦》中的文化娱乐与艺术表达.pptx VIP
- TZHYL-智慧医院医用耗材 SPD 供应链风险控制指南.pdf VIP
- 数据挖掘知到课后答案智慧树章节测试答案2025年春中国人民解放军国防科技大学.docx VIP
- VDA6.3潜在供方审核P1.xlsx VIP
- 电力公司线路工程资料移交清单 .pdf VIP
- 黑龙江 2023年兽医实验室考试:兽医实验室技术理论真题模拟汇编(共285题).doc VIP
- 2025至2030年中国商务服务市场调查研究及行业投资潜力预测报告.docx
- 第10课 相互了解 相互尊重 教案 人民版中华民族大家庭.pdf VIP
- 2025年七年级数学(上)第1单元《有理数易错题练习》及答案 .pdf VIP
- GB_T 20394-2019 体育用人造草.docx VIP
文档评论(0)