




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.数据结构实验报告第 6 次实验学号:20141060106 姓名:叶佳伟一、实验目的1、复习图的逻辑结构、存储结构及基本操作;2、掌握邻接矩阵、邻接表及图的创建、遍历;3、了解图的应用。二、实验内容1、(必做题)假设图中数据元素类型是字符型,请采用邻接矩阵或邻接表实现图的以下基本操作:( 1)构造图(包括有向图、有向网、无向图、无向网);( 2)根据深度优先遍历图;( 3)根据广度优先遍历图。三、算法描述(采用自然语言描述)四、详细设计(画出程序流程图)五、程序代码(给出必要注释)#include<stdio.h>#include<malloc.h>#include&
2、lt;conio.h>#include<stdlib.h>#include<string.h>#define INFINITY 255678 /*赋初值用*/#define MAX_VERTEX_NUM 20 /* 最大顶点个数 */enum DG, DN, UDG, UDN;typedef struct ArcCell int adj;/*顶点关系类型,对无权图,用1(是)或0(否)表示相邻否;对带权图,则为权值*/ char *info;/*弧相关信息指针*/AdjMatrixMAX_VERTEX_NUMMAX_VERTEX_NUM;typedef struc
3、t char vexsMAX_VERTEX_NUM5;/*顶点向量*/ AdjMatrix arcs; /*邻接矩阵*/ int vexnum, arcnum;/*图的当前顶点数和弧数*/ int kind;MGraph;void CreateDG(MGraph *G);void CreateDN(MGraph *G);void CreateUDG(MGraph *G);void CreateUDN(MGraph *G);int LocateVex(MGraph *G, char v);void print(MGraph *G);int main(void) MGraph *G; G = (M
4、Graph *)malloc(sizeof(MGraph); printf("请选者 0-有向图,1-有向网,2-无向图,3-无向网 : "); scanf("%d", &G->kind); switch(G->kind) case DG : CreateDG(G); print(G); break; case DN : CreateDN(G); print(G); break; case UDG : CreateUDG(G); print(G); break; case UDN : CreateUDN(G); print(G); b
5、reak; default : break; getch();/*建立有向图*/void CreateDG(MGraph *G) int i, j, k; char v15, v25; printf("输入顶点数和弧数 : "); scanf("%d%d", &G->vexnum, &G->arcnum); getchar(); for(i = 0; i < G->vexnum; i+) scanf("%s", G->vexsi); /*自动赋值顶点向量*/ for(i = 0; i &l
6、t; G->vexnum; i+) for(j = 0; j < G->vexnum; j+) /*赋初值*/ G->arcsij.adj = INFINITY; G-> = NULL; for(k = 0; k < G->arcnum; k+) scanf("%s%s", v1, v2); /*输入一条边依附的顶点和权值*/ i = LocateVex(G, v1); /*确定v1和v2在G中位置*/ j = LocateVex(G, v2); G->arcsij.adj = 1; /*弧的权值赋值*/
7、 /*建立有向网*/void CreateDN(MGraph *G) int i, j, k, w; char v15, v25; printf("输入顶点数和弧数 : "); scanf("%d%d", &G->vexnum, &G->arcnum); getchar(); for(i = 0; i < G->vexnum; i+) scanf("%s", G->vexsi); /*自动赋值顶点向量*/ for(i = 0; i < G->vexnum; i+) for(j
8、= 0; j < G->vexnum; j+) /*赋初值*/ G->arcsij.adj = INFINITY; G-> = NULL; for(k = 0; k < G->arcnum; k+) scanf("%s%s%d", v1, v2, &w); /*输入一条边依附的顶点和权值*/ i = LocateVex(G, v1); /*确定v1和v2在G中位置*/ j = LocateVex(G, v2); G->arcsij.adj = w; /*弧的权值赋值*/ /*建立无向图*/void Cr
9、eateUDG(MGraph *G) int i, j, k; char v15,v25; printf("输入顶点数和弧数 : "); scanf("%d%d", &G->vexnum, &G->arcnum); getchar(); for(i = 0; i < G->vexnum; i+) scanf("%s", G->vexsi); /*自动赋值顶点向量*/ for(i = 0; i < G->vexnum; i+) for(j = 0; j < G->ve
10、xnum; j+) /*赋初值*/ G->arcsij.adj = INFINITY; G-> = NULL; for(k = 0; k < G->arcnum; k+) scanf("%s%s", v1, v2); /*输入一条边依附的顶点和权值*/ i = LocateVex(G, v1); /*确定v1和v2在G中位置*/ j = LocateVex(G, v2); G->arcsij.adj = 1; /*弧的权值赋值*/ G->arcsji.adj=G->arcsij.adj;/*置对称弧*/ /*建
11、立无向网*/void CreateUDN(MGraph *G) int i, j, k, w; char v15, v25; printf("输入顶点数和弧数 : "); scanf("%d%d", &G->vexnum, &G->arcnum); getchar(); for(i = 0; i < G->vexnum; i+) scanf("%s", G->vexsi); /*自动赋值顶点向量*/ for(i = 0; i < G->vexnum; i+) for(j = 0
12、; j < G->vexnum; j+) /*赋初值*/ G->arcsij.adj = INFINITY; G-> = NULL; for(k = 0; k < G->arcnum; k+) scanf("%s%s%d", v1, v2, &w); /*输入一条边依附的顶点和权值*/ i = LocateVex(G, v1); /*确定v1和v2在G中位置*/ j = LocateVex(G, v2); G->arcsij.adj = w; /*弧的权值赋值*/ G->arcsji.adj=G->arcsij.adj;/*置对称弧*/ int LocateVex(MGraph *G, char v) int k; for(k = 0; k < G->vexnum; k+) if(strcmp(G->vexsk, v) = 0) break; return k;/*打印矩阵*/void print(MGraph *G) int i, j; printf("n-打印矩阵-nn"); for(i = 0; i < G->vexnum; i+) for(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届河北省永年县一中高一物理第二学期期末监测模拟试题含解析
- 教育技术应用与文化传承的关系研究
- 教育技术中的专利申请与风险规避
- 2025届江西省丰城二中高二物理第二学期期末预测试题含解析
- 2025届广东省广州市番禺区禺山高级中学物理高一下期末调研模拟试题含解析
- 探索教育游戏化如何影响孩子的情绪认知能力
- 教育技术项目的投资规划与风险控制
- 福建省师范大学附中2025年高一物理第二学期期末考试试题含解析
- 医疗培训中融入教育心理学的效果评估
- 技术如何塑造现代办公模式
- 2024年湖南省辰溪县档案局公开招聘试题带答案
- 锂离子电池安全性能优化:针刺实验与失效机制分析
- 2025至2030年中国森林消防车行业市场全景评估及未来趋势研判报告
- 2025生产与运作管理试题及答案
- 暑假的一次冒险经历记事作文4篇范文
- 入职预支薪资协议书
- 《中国特色社会主义理论体系的形成和发展》(课件)
- 职业技术学院婴幼儿托育服务与管理专业人才培养方案
- 2025台州市椒江区辅警考试试卷真题
- 中学生零食消费情况调查与分析
- 国开本科《管理英语4》机考总题库及答案
评论
0/150
提交评论