数据结构:有向无环图的表示

本文探讨了如何在C语言中表示有向无环图,并重点介绍了在存储过程中如何使用malloc和realloc进行动态内存管理。通过一个实例展示了初始化和扩展内存的过程,同时提到了realloc的注意事项,包括避免内存碎片和处理realloc失败的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据结构:有向无环图的表示

最近在做workflow的时候有用到怎么去存储一个有向无环图,在百度上看到一个答复感觉很棒
http://blog.chinaunix.net/uid-24774106-id-3505579.html

文中使用先是 malloc 一个内存然后每当超出长度的时候就 realloc 内存(其实感觉跟 python 的 list 差不多)后面发现其实可以用vector,不用实现那么多代码(捂脸),但是自己实现了这个想法的确是work的,而且也省了不少内存

  • 我程序的代码片如下:
struct node {
    struct node **succ;
    int num_succ = 0;
    int num_pred = 0;
    int pred_len, succ_len;
}; // 省略了很多参数

然后先初始化:

    nodes[i].succ = (struc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值