- 136
- 0
- 约2千字
- 约 3页
- 2019-08-19 发布于江西
- 举报
源程序(邻接矩阵转换成邻接表):
#includestdio.h
#includemalloc.h
#define maxlen 100
typedef struct
{ int num;
char data;
}VER; //顶点类型
typedef struct
{int n;
int e;
VER ve[maxlen];
int edges[maxlen][maxlen];
}MG; //邻接矩阵类型
typedef struct AR
{ int adjvex;
char info;
struct AR *nextarc;
}AR; //结点类型
typedef struct VEX
{ char vexdata;
AR *firstarc;
}VEX,adj[maxlen]; //表结点类型
typedef struct
{ adj vext;
int vexnum,arcnum;
}ALG; //邻接表类型
MG *creat() //创建邻接矩阵
{ MG *p;int i,j,k,l,w;
p=(MG *)malloc(sizeof(MG));
printf(输入矩阵结点个数数和边的数目:);
scanf(%d%d,p-n,p-e);
for(i=1;i=p-n;i++) //初始化邻接表
for(j=1;j=p-n;j++)
p-edges[i][j]=0;
getchar();
printf(请输入结点的信息:);
for(i=1;i=p-n;i++)
{scanf(%c,p-ve[i].data );getchar();
p-ve[i].num=i;}
printf(请输入边的两个结点的序号以及权值:\n);
for(i=1;i=p-e;i++)
{scanf(%d%d%d,k,l,w);
p-edges[k][l]=w;}
return p; }
ALG *change(MG *p) // 邻接矩阵转换成邻接表函数
{ALG *q; adj k; AR *l; int i,j;
q=(ALG *)malloc(sizeof(ALG));
for(i=1;i=p-n;i++) //初始化表头结点
{k[i].vexdata=p-ve[i].data;
k[i].firstarc=NULL; }
for(i=1;i=p-n;i++) //邻接矩阵转化成邻接表的主要算法
for(j=1;j=p-n;j++)
if(p-edges[i][j]!=0)
{ l=(AR *)malloc(sizeof(AR));
l-info=p-ve[j].data;
l-adjvex=p-ve[j].num;
l-nextarc=k[i].firstarc;
k[i].firstarc=l; }
for(i=1;i=p-n;i++) //将各种数据存入图中
q-vext[i]=k[i];
q-vexnum=p-n;
q-arcnum=p-e;
return q;
}
void shuchu(ALG *p) //输出函数
{int i;
printf(转换成邻接表结果为:);
for(i=1;i=p-vexnum;i++)
{printf(\n);
if(p-vext[i].firstarc==NULL) //控制输出格式
printf(%c--∧ ,p-vext[i].vexdata);
else printf(%c--,p-vext[i].vexdata);
while(p-vext[i].firstarc!=NULL)
{printf(%c,p-vext[i].firstarc-info);printf(-);
p-vext[i].firstarc=p-vext[i].firstarc-nextarc;
}
printf(\b\b ); //控制输出格式
}
printf(\n);
}
void main()
{MG *p;ALG *q;
p=creat(); //调用各子函数
q=change(p);
shuchu(q);
}
您可能关注的文档
- 量子化学计算中的LINUX操作系统和一些技巧.ppt
- 辽宁电力统一用户管理系统.doc
- 辽宁省地形图图例标准.doc
- 辽宁石油化工大学计算机与通信工程学院.ppt
- 列一元二次方程解应用题的特点.doc
- 林黛玉进贾府导学案.doc
- 林海峰“不老的传说”“断食排毒法”(视频笔记)-word版.docx
- 林木良种选育技术与方法.ppt
- 临安大明山导游词.doc
- 临床各级医师职责.doc
- 全过程工程管理造价咨询工程监理项目服务方案投标方案(技术部分).doc
- 招标代理服务投标技术服务方案(技术方案).doc
- AI大模型与AIGC技术在公安领域的应用解决方案(99页 PPT).pptx
- 工业4.0智能制造数字工厂规划方案.pptx
- 树立社会主义核心价值观.docx
- 三年(2023-2025)中考历史真题分类汇编(全国)专题21 科技文化与社会生活(解析版).docx
- 2025年中考道德与法治真题完全解读(吉林卷).pdf
- 2025年中考道德与法治真题完全解读(安徽卷).pdf
- 三年(2023-2025)中考历史真题分类汇编(全国)专题14 人民解放战争(解析版).pdf
- 三年(2023-2025)广东中考历史真题分类汇编:专题03 中国近代史(八年级上册)(解析版).docx
最近下载
- 巴西饶坚赞《山法了义海论》思想探析.docx VIP
- 啊我永远失去了你bersempreioti选自清教徒Ipuritani原版调钢琴伴奏谱五线谱正谱伴奏音频.pdf VIP
- 浙江省温州市2023-2024学年七年级上学期期末考试语文试卷(含答案).doc VIP
- 人教版六年级上册数学期末测试卷可打印.docx VIP
- (期末考点培优)专题10 短文填空(含答案解析)八年级英语下册期末复习考点培优专项冀教版.docx VIP
- 复杂剖宫产手术专家共识(2024).pdf VIP
- (冀教版)—六年级英语上册期末测试卷.doc VIP
- GB50275-2010风机、压缩机、泵安装工程施工及验收规范.docx VIP
- 江西省赣州市文清外国语学校2024-2025学年高三下学期联考押题卷物理试题试卷含解析.doc VIP
- 铁路工程测量:控制测量PPT教学课件.pptx
原创力文档

文档评论(0)