2026¶
图的邻接多重表存储结构
实现无向图的邻接多重表,每条边用一个结点表达、同时链入两个顶点的边链表。支持建图、插入边、删除边、打印边集与销毁操作。
原代码存在三处缺陷:locatevex 的未找到判断永远不成立;initmarks 边遍历被 mark==1 条件截断;deletedn 逐边调用 deleteedge 可能重复释放。以下给出修正后代码。
图的十字链表存储结构
实现有向图的十字链表存储,每个顶点通过 firstin 和 firstout 分别串起入弧和出弧。支持建图、查询入度/出度与销毁操作。
原代码的 locatevex 未找到判断与上一篇邻接多重表相同——i > vexnum 在循环上限恰为 vexnum 时永不为真。此外 createdg 缺少弧顶点有效性校验,main 中查询顶点与测试数据大小写不一致。