图:存储及操作(十字链表)
本帖最后由 Julia999 于 2019-8-5 09:48 编辑之前我提到过邻接矩阵法和邻接表法,现在多学一种方法:十字链表(有向图的一种链式存储结构){:10_277:}
但是,干啥子要多学一种方法勒?之前说过,在邻接表中,如果要找出入边,是要遍历整个邻接表的,实在是太麻烦撒,所以捏,就多一个方法咯~{:10_266:}
但是捏,如果要理解十字链表,那就先学好邻接表,因为十字链表是在他的基础之上改进的~
#define MaxvertexNum 100
//边表结点
typedef struct ArcNode{
int tailvex,headvex;//尾域和头域
struct ArcNode *hlink,*tlink;//两个指针,出弧单链表和入弧单链表
//InfoType info;
}ArcNode;
//顶点表
typedef struct VNode{
VetexType data;//保存数据
ArcNode *firstin,*firstout; //保存入弧单链表的头指针和出弧单链表的头指针
}VNode;
//十字链表
typedef struct{
VNode xlist;//顶点表结点的结构体
int vexnum,arcnum;
}GLGraph;
页:
[1]