正在加载图片...
2014/47 §5.3广义表(Lists) s5.3广义表(Lists) 3)双链表示法 引入表头结点,使子表内部的变化不会涉及外部元素的变化, 插删第一个结点方便。头结点和其他结点结构相同,只是以示 该方法类似于第6章的二叉链表。 区别: 。结点结构 「一1表头结点,m域指向表中第一个结点:d血域为引用计数 m一{0本结点为子表 指向同层后继 1本结点为原子 删除表时,头结点引用计数减1,仅当引用计数为0时,才释放 指向子表中第一个结点 表中所有结点。 结点为原子台imk1m EG西 。存储说明 cGa@配o typedef struct GLNodef BO- 起@西 DataType data;∥子表名字或原子数据 如G西 struct GLNode "link1."link2: 】GLst 何加工N §53广义表(Lists) s5.3广义表(Lists) 图示beadB-A 例子 (姓名,工资收入(盖本工资,午餐补助,津贴,扣除(公积金水电贵其它,实发工资) heac-A□BA 工癸收入 扣除 实发 headBG 名红竹餐神指公积脸水电爽其蛇正变 headA☐ x正 catC-姓名肛效以扫除-h发r钢 headL □Ab囚 公发a一炮共起囚 特点 江补粘☒ 角霞洁方便、类似于二又链表。可倍于二又随表表示处星易求长度深 在表结点中保存了子表的名字信总,有时子表名字和原子信息同样要要、 运算:略2014/4/7 7 §5.3 广义表(Lists)  改进 引入表头结点,使子表内部的变化不会涉及外部元素的变化, 插删第一个结点方便。头结点和其他结点结构相同,只是以示 区别: 删除表时,头结点引用计数减1,仅当引用计数为0时,才释放 37 删除表时,头结点引用计数减 ,仅当引用计数为0时,才释放 表中所有结点。 §5.3 广义表(Lists) (3) 双链表示法 该方法类似于第6章的二叉链表。  结点结构 38  存储说明 typedef struct GLNode{ DataType data; //子表名字或原子数据 struct GLNode *link1, *link2; } *GList; §5.3 广义表(Lists)  图示 39  特点 ① 简洁方便,类似于二叉链表,可借助于二叉链表表示处理,易求长度深 度。 ② 在表结点中保存了子表的名字信息,有时子表名字和原子信息同样重要。 §5.3 广义表(Lists)  例子 (姓名,工资收入(基本工资,午餐补助,津贴),扣除(公积金,水电费,其它),实发工资) 3. 运算:略 40
<<向上翻页
©2008-现在 cucdc.com 高等教育资讯网 版权所有