广义表存储结构与实现 定义部分..里面有些不理解 10

广义表存储结构与实现用C++中的结构类型和联合类型来定义上述结点结构.enumElemtag{Atom,List};//Atom=0为单元素;List=1为子表templ... 广义表存储结构与实现
用C++中的结构类型和联合类型来定义上述结点结构.

enum Elemtag{Atom,List}; //Atom=0为单元素;List=1为子表
template<class T>
struct GLNode
{
Elemtag tag; //标志域,用于区分元素节点和表节点
union
{
T data; //data是元素节点的数据域
struct
{
GLNode *hp, *tp; //hp和tp分别指表头和表尾
}ptr;
};
};

联合类型

enum Elemtag{Atom,List};

union

ptr;

这里三个我不是很理解,请给出 //解释 或者概括一下

联合类型的有关课间,哪位朋友能够提供一下..binsheng55@163.com 另当感谢.
请看要求讲解,,这些偶知道了的.
展开
 我来答
kurt023
2006-11-09 · TA获得超过767个赞
知道小有建树答主
回答量:377
采纳率:0%
帮助的人:0
展开全部
联合类型是为了节省空间使用的,因为广义表的元素要么是数据要么是另一个广义表而不能同时是两者,所以使用union,enum Elemtag{Atom,List}; 是表中元素的标志位,枚举类型,Atom值为0,标志元素是数据,List值为1,标志另一个广义表,整个的表元素的定义是
|标志位|数据/广义表表的指针|
通过标志位可以确定union中是数据还是广义表表的指针

广义表的定义可以参看:
http://studying.com.cn/subject/CourseWare_Detail.aspx?TeachCourseWareID=258
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式