写出用广义表表示法表示的树的类声明,并给出如下成员函数的实现:(1)operator>>()接收用广义表
写出用广义表表示法表示的树的类声明,并给出如下成员函数的实现:
(1)operator>>()接收用广义表表示的树作为输人,建立广义表的存储表示;
(2)复制构造函数用另一棵表示为广义表的树初始化棵树;
(3)operator==()测试用广义表表示的两棵树是否相等
(4)operator<<()用广义表的形式输出一棵树;
(5)析构函数清除一棵用广义表表示的树。
写出用广义表表示法表示的树的类声明,并给出如下成员函数的实现:
(1)operator>>()接收用广义表表示的树作为输人,建立广义表的存储表示;
(2)复制构造函数用另一棵表示为广义表的树初始化棵树;
(3)operator==()测试用广义表表示的两棵树是否相等
(4)operator<<()用广义表的形式输出一棵树;
(5)析构函数清除一棵用广义表表示的树。
(1)树的根结点作为内子树构成的表的表名,放在表的最前面。
(2)每个结点的左子树和右子树用逗号隔开。若仅有在子树没有左子树,则逗号不能省略。
(3)在整个广义表表示输人的结尾加上一个特殊的符号(例如)表示输入结束。例如,对于如图5-26所示的二叉树,广义表表示为:A(B(D,E(G,)).C(,F))
下面说法正确的是【】
A.广义表的表头总是一个广义表
B.广义表的表尾总是一个广义表
C.广义表难以用顺序存储结构
D.广义表可以是一个多层次的结构
下列存储形式中,哪个不是树的存储形式()。
A.双亲表示法
B.位示图法
C.广义表表示法
D.孩子兄弟表示法
利用广义表的head和tail操作写出函数表达式,把以下各题中的单元索banana从广义表中分离出来:
(1)Ll(apple,pear,banana,orange)
(2)L2((apple,pear),(banana,orange))
(3)L3(((apple),(pear),(banana),(orange)))
(4)L4(((〔apple))),((pear)),(banana),orange)
(5)L5((((apple)+pear),banana),orange)
(6)L6(apple,(pear,(banana),orange))
(x),AddMember(x),DelMember(x),Min(),试写出它的类声明,并给出所有这些成员函数的实现。
以下关于广义表的叙述中,正确的是()。
A.广义表是0个或多个单元素或子表组成的有限序列
B.广义表至少有一个元素是子表
C.广义表不可以是自身的子表
D.广义表不能为空表