| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 Julia999 于 2019-8-5 09:48 编辑  
之前我提到过邻接矩阵法和邻接表法,现在多学一种方法:十字链表(有向图的一种链式存储结构)  
但是,干啥子要多学一种方法勒?之前说过,在邻接表中,如果要找出入边,是要遍历整个邻接表的,实在是太麻烦撒,所以捏,就多一个方法咯~  
但是捏,如果要理解十字链表,那就先学好邻接表,因为十字链表是在他的基础之上改进的~ 
 
 
- #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[MaxvertexNum];  //顶点表结点的结构体
 
 -     int vexnum,arcnum;
 
 - }GLGraph;
 
  复制代码 
 
 
 |   
 
 
 
 |