图的存储方式之十字链表

  1. 十字链表是有向图的链式存储结构,可以看成是有向图的邻接表和逆邻接表的结合,
  2. 顶点结点是顺序存储,其结构是data数据域, firstin指针指向以此节点为弧头的弧结点(构成的链表叫做弧头链表) , firstout以此结点位弧尾的弧结点(构成的链表叫做弧尾链表)
  3. 弧结点是链式存储,结构包括5个域tailvex尾域,指示弧尾在图中的位置,headvex头域,表示弧头在图中的位置,链域hlink指向弧头相同的另一个结点,链域tlink指向弧尾相同的另一个结点,指向弧的相关信息

上代码:

// Orthogonal list.十字链表是有向图的链式存储结构,可以看成是有向图的邻接表和逆邻接表的结合,
//顶点结点是顺序存储,其结构data是数据域, firstin指针指向以此节点为弧头的弧结点 , firstout以此结点位弧尾的弧结点
//弧结点是链式存储,结构包括5个域tailvex尾域,指示弧尾在图中的位置,headvex头域,表示弧头在图中的位置,链域hlink指向弧头相同的另一个结点,链域tlink指向弧尾相同的另一个结点,info指向弧的相关信息;
//typedef 是对已有的数据类型进行别名替换,#define是简单的字符串替换,注意两者区别

#include "stdafx.h"
#include "stdio.h"
#include "string.h"
#include "malloc.h"

#define  vexmaxnum 100 

#define DEBUG

typedef char vextype;
typedef int edg
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值