第5章数组与广义表案例分析.ppt

* * * * * * * * * * * * * * * * * §5.3 广义表(Lists) 特点 除空表的表头指针为空外,头指针均指向表结点。 任一表结点的hp均指向表头部(原子结点或表结点) 任一表结点的tp均指向表尾部(当表尾部为空表时,tp=NIL,否则必指向表结点) 易分清表中原子和子表所在层次。 如x、L在第一层,a、b在第二层。 最高层的表结点数即为广义表的长度。 浪费空间,易求表长和表深度。 * §5.3 广义表(Lists) (2) 单链表示法 模仿线性表的单链表结构,当所有元素为原子时,等价于单链表。 结点结构: 图示:E=NIL C=(A, B)=((x, (a, b)), ((x, (a, b)), y)) =(A(x, L(a, b)), B(A(x, L(a, b)), y)) * §5.3 广义表(Lists) 存储结构说明 typedef struct GLNode{ int atom; //亦可定义为枚举类型,标志域 struct GLNode *slink; //指向同层后继 union { struct GLNode *slink; //指向子表的第一个结点 DataType data; //原子结点数据域 }optval; //候选值 } *GList; *

文档评论(0)

1亿VIP精品文档

相关文档