引入
上节,我们介绍了如何根据需要创建有向图、无向图、并且将其结构存储起来,今天我们就将图输出,并且输出一个邻接矩阵,看看我们输入的图对不对。
输出图结构
我们还是分段讲解
输出图的基本信息
1 | //前三个比较简单,就是数据结构体中存储的数据 |
我们输出了图的一些基本信息
- 输出函数首先接收到图结构体指针
- 图的类型,直接从结构体调用
- 顶点数量、边得数量,也都直接从结构体调用
- 在输出顶点集合的时候,我们需要根据顶点的数量循环输出
输出邻接矩阵
1 | //有多少顶点循环多少次 |
其实就是格式化输出二维数组的全部元素
- 一开始先输出这一行表示的顶点名称
- 然后通过内层 for 循环不断的输出这一行的数据
- 输出完这一行,\n 换行继续输出
总代码
内容和上一讲相同,我们可以试着自己再写一遍,很简单~
1 |
|
V0 | V1 | v2 | v3 | |
---|---|---|---|---|
V0 | 0 | 1 | 1 | 1 |
V1 | 1 | 0 | 1 | 0 |
V2 | 1 | 1 | 0 | 1 |
V3 | 1 | 0 | 1 | 0 |
我们将上面的图输入程序,我们用 a、b、c、d 代替v1、v2、v3、v4
运行结果
请输入图的类型,有向图输入1,无向图输入0:0
图有几个顶点:4
图有几条边:5
请输入第1个结点的值:a
请输入第2个结点的值:b
请输入第3个结点的值:c
请输入第4个结点的值:d
请输第1个边的信息:a b
请输第2个边的信息:b c
请输第3个边的信息:c d
请输第4个边的信息:d a请输第5个边的信息:a c
图类型:无向图
图中的顶点有: 4 个
图中的边/弧有: 5 个
顶点的集合:a b c d
邻接矩阵:
a 0 1 1 1
b 1 0 1 0
c 1 1 0 1
d 1 0 1 0
运行结果同矩阵相同,成功!