[puzzle-1]无向图的存储方式

本文介绍了如何使用C语言存储无向图,通过二维数组表示顶点之间的边关系,详细阐述了从输入顶点和边信息到构造无向图矩阵的过程,并提供了效果演示。
摘要由CSDN通过智能技术生成

无向图通常会使用一个数组用来存储顶点数据;

顶点形成的边则采用以顶点个数形成的二维数组,比如如果顶点个数为5个,则使用int arr[5][5];来存储所有顶点间是否有边的关系,如果两边有关系就设置为1,没有就设置为0,由此形成一个矩阵。

以下方的图构造二维数组矩阵关系为例构造无向图的存储:

1、定义一个常量代表存放顶点数组的长度

// 顶点的最大个数
#define MAX_NUM 20 

2、定义一个数组 用来存放顶点数据

// 定义一个数组存储顶点数据 
int vertex_arr[MAX_NUM];

3、定义一个二维数组用来存放顶点之间是否存在边的关系

//定义一个由定点数构成的二维数组用来存放有任意两个顶点构成的边 ,存在边写1,不存在写0
int arc_arr[MAX_NUM][MAX_NUM];

 4、定义一个变量用于存储用户输入的顶点个数

// 顶点总数
int vertex_num; 

5、定义一个变量用来存储用户输入的边的个数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式园姐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值