数据结构中的图 无向和有向,怎样存入文件

 我来答
Soucula
推荐于2016-06-13 · TA获得超过3093个赞
知道小有建树答主
回答量:744
采纳率:93%
帮助的人:91.8万
展开全部
通常图都分为结点和弧,您存储图到文件可以按照这种方法来实现。
typedef struct {
int type; //标识是有向图还是无向图,例如0表示有向图,非0表示无向图
int vexnum;
char *arclist; //arclist指向一个vexnum*vexnum的矩阵,存储节点间的弧
}CHART;

1. 写文件时将上面的结构写入文件,然后将vexnum*vexnum的弧矩阵写入文件
2. 读文件时先读取上面的结构,然后依据vexnum先申请一个vexnum*vexnum大小的空间
赋值给arclist,然后从文件继续读取vexnum*vexnum大小的数据存储到arclist指向的数
组中。
更多追问追答
追问
那怎么同时记录每条边的权重,再增加一个权重矩阵吗?
追答
arclist指向的这个矩阵每个元素都是一个值,这个值就可以是权重,如果权重比较大,您可以改为整型即可。矩阵的size就是vexnum*vexnum*sizeof(int)依次类推,即使您用double型也没问题啊完全可以描述每条边的权重了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式