C语言实现图的邻接矩阵表示
需积分: 9 43 浏览量
更新于2024-08-05
1
收藏 3KB TXT 举报
"实验6图.txt"
这篇代码是关于图的表示和操作的,主要涉及图的邻接矩阵表示,包括无向图和有向图。实验内容包括创建无向图、无向网以及有向图,并输出它们的邻接矩阵。
首先,代码中定义了一些常量和数据类型。`#define MAX 10` 定义了邻接矩阵的最大维数为10,`typedef int VexType` 将整型变量作为图的顶点类型,`jz[MAX][MAX]` 定义了一个二维数组来存储邻接矩阵。接着,分别用 `jzwxt`, `jzwxw`, `jzyxt`, `jzyxw` 来初始化四个邻接矩阵,分别用于无向图、无向网、有向图的表示。
接下来,定义了几个变量来记录各图的顶点数(n1, n2, n3)和边数(e1, e2, e3, e4)。`void output(jz G, int n)` 函数用于打印邻接矩阵,它接收一个邻接矩阵和顶点数作为参数,然后遍历矩阵并打印每个元素。
在 `void creat_wxt()` 函数中,用户被要求输入无向图的顶点数和边数,然后通过循环读取每一条边的两个顶点编号,将其添加到邻接矩阵 `jzwxt` 中。注意,由于无向图的边是双向的,所以邻接矩阵中 `(h, l)` 和 `(l, h)` 的值都设为1。
`void creat_wxw()` 函数与 `creat_wxt()` 类似,但增加了边的权重。用户输入无向网的顶点数和边数,以及每条边的权重,这些权重存储在邻接矩阵 `jzwxw` 中。同样,因为是无向网,所以 `(h, l)` 和 `(l, h)` 的权重相同。
`void creat_yxt()` 函数用于创建有向图,流程与无向图类似,但只考虑单向连接,即在邻接矩阵 `jzyxt` 中仅设置 `(h, l)` 的值,不设置 `(l, h)`,因为有向图的边是有方向性的。
最后,代码中并没有包含输出有向网的部分,可能是因为这部分被省略或将在其他部分实现。这段代码提供了一个基础的图处理框架,可以用来学习和理解图的邻接矩阵表示法以及如何创建和输出这种表示的图。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2019-09-08 上传
2020-05-21 上传
2008-11-14 上传
2021-10-15 上传
2020-11-28 上传
2023-05-12 上传
Funchy
- 粉丝: 1
- 资源: 4
最新资源
- JavaScript实现的高效pomodoro时钟教程
- CMake 3.25.3版本发布:程序员必备构建工具
- 直流无刷电机控制技术项目源码集合
- Ak Kamal电子安全客户端加载器-CRX插件介绍
- 揭露流氓软件:月息背后的秘密
- 京东自动抢购茅台脚本指南:如何设置eid与fp参数
- 动态格式化Matlab轴刻度标签 - ticklabelformat实用教程
- DSTUHack2021后端接口与Go语言实现解析
- CMake 3.25.2版本Linux软件包发布
- Node.js网络数据抓取技术深入解析
- QRSorteios-crx扩展:优化税务文件扫描流程
- 掌握JavaScript中的算法技巧
- Rails+React打造MF员工租房解决方案
- Utsanjan:自学成才的UI/UX设计师与技术博客作者
- CMake 3.25.2版本发布,支持Windows x86_64架构
- AR_RENTAL平台:HTML技术在增强现实领域的应用