首页 > 其他 > 详细

广义表和多重链表

时间:2019-03-10 12:06:46      阅读:269      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

广义表(Generalized List)

  1. 广义表是线性表的推广
  2. 对于线性表而言,n个元素都是基本的单元素;
  3. 广义表中,这些元素不仅可以是单元素也可以是另一个广义表
typedef struct GNode *GList;
struct GNode{
    int tag;    /*标志域:0表示结点是单元素,1表示结点是广义表*/
    union{      /*子表指针域Sublist与单元素数据域Data复用,即共用存储空间*/
        ElementType Data;
        GList SubList;
    }URegion;
    GList Next;     /*指向后续结点*/
};

技术分享图片

多重链表:链表中的结点可能同时隶属于多个链

  1. 多重链表中结点的指针域会有多个,如前面例子包含了Next和SubList两个指针域;
  2. 但包含两个指针域的链表并不一定是多重链表,比如在双向链表不是多重链表

多重链表有广泛的用途:基本上如树、图这样相对复杂的数据结构都可以采用多重链表方式实现存储。

广义表和多重链表

原文:https://www.cnblogs.com/King-boy/p/10504781.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!