首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 一棵非空二叉树中“最左下”结点定义为:若树根的左子树为空,则树根为“最左下”结点;否则,从树根的左子树根出发,沿结点的左孩子分支向下查找,直到某个结点不存在左孩
阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 一棵非空二叉树中“最左下”结点定义为:若树根的左子树为空,则树根为“最左下”结点;否则,从树根的左子树根出发,沿结点的左孩子分支向下查找,直到某个结点不存在左孩
admin
2010-01-15
61
问题
阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
一棵非空二叉树中“最左下”结点定义为:若树根的左子树为空,则树根为“最左下”结点;否则,从树根的左子树根出发,沿结点的左孩子分支向下查找,直到某个结点不存在左孩子时为止,该结点即为此二叉树的“最左下”结点。例如:图13-26所示的以A为根的二叉树的“最左下”结点为D,以C为根的子二叉树中的“最左下”结点为C。
二叉树的结点类型定义如下:
typedef struct BSTNode{
int data;
struct BSTNode * lch,* rch;//结点的左、右孩子指针
} * BSTree;
代码13-7中,函数BSTree Find_Del(BSTreeroot)的功能是:若root指向一棵二茶树的根结点,则找出该结点的右子树上的“最左下”结点*p,并从树中删除以*p为根
的子树,函数返回被删除子树的根结点指针;若该树根的右子树上不存在“最左下”结点,则返回空指针。
【代码13-7】
BSTree Find_Del(BSTree root)
{
BSTree p,pre;
If(! root) / * root指向的二叉树为空树*/
return NULL;
(1); / * 令p指向根结点的右子树*/
if( ! p)
return NULL;
(2); / * 设置pre的初值*/
while(p->lch) {/ * 查找“最左下”结点*/
pre=p;
p=(3);
}
if((4)==root) / * root的右子树根为“最左下”结点*/
pre->rch=NULL;
else
(5)=NULL;/ * 删除以“最左下”结点为根的子树*/
return p;
}
选项
答案
(1)p=root->rch (2)pre=root (3)p->lch (4)pre (5)pre->lch
解析
此题是一个关于二叉树操作的问题,首先来分析一下题目中对函数功能的描述。
BSTree Find_Del(BSTree root)功能是找出输入的二叉树的右子树上的“最左下”结点,删除以这个结点为根的子树并返回此结点的指针,如果二叉树的右子树不存在“最左下”结点,则返回空指针。
从(1)空所在的注释可知该空要填写的语句的功能是令指针p指向根结点的右子树,从二叉树的结点类型定义可知右孩子的指针为* rch,则第(1)空应该为:p=root->rch。
接着看下面这段代码:
if(!p)
return NULL;
(2); / * 设置pre的初值*/
while(p->lch){/ * 查找“最左下”结点*/
pre=p;
p=(3);
}
从注释可知这个循环的功能是查找二叉树根结点的右子树的“最左下”结点,从函数的返回指针为p可知,第(3)空的指针p应该总是指向左结点的,循环的目的是层层深入,而 pre指针则是p的前趋结点,在删除“最左下”结点时,pre将起到重要作用,所以第(2)空 pre指针的初值应该为二叉树的根结点:pre=root,第(3)空应该为:p->lch。
从第(4)空后面的注释可知if语句是用来判断循环后所求的“最左下”结点是不是存在,如果存在则删除这个以“最左下”结点为根的树,从而得出空(4)和空(5)应该为:pre和 pre->lch。
综上所述,关注程序的注释是非常重要的,它对解题提供了许多有用的信息。
转载请注明原文地址:https://kaotiyun.com/show/IcDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
下列关于软件开发的叙述中,与提高软件可移植性相关的是(19)。
计算机的用途不同,对其部件的性能指标要求也有所不同。以科学计算为主的计算机,对(1)要求较高,而且应该重点考虑(2)。
软件测试的基本方法包括白盒测试和黑盒测试方法,以下关于二者之间关联的叙述,错误的是(61)。
以下关于汇编语言的叙述中,错误的是______。A.汇编语言源程序中的指令语句将被翻译成机器代码B.汇编语言的指令语句必须具有操作码字段,可以没有操作数字段C.汇编程序以汇编语言源程序为输入,以机器语言表示的目标程序为输出D.汇编程序先将源程序中的
在IPv4向IPv6的过渡期间,如果要使得两个IPv6结点可以通过现有的IPv4网络进行通信,则应该使用(27);如果要使得纯IPv6结点可以与纯IPv4结点进行通信,则需要使用(28)。(28)
在IPv4向IPv6的过渡期间,如果要使得两个IPv6结点可以通过现有的IPv4网络进行通信,则应该使用(27);如果要使得纯IPv6结点可以与纯IPv4结点进行通信,则需要使用(28)。(27)
在数据库逻辑结构设计阶段,需要(20)阶段形成的(21)作为设计依据。(21)
在软件维护阶段,将专用报表功能改成通用报表功能,以适应将来可能的报表格式变化,则该维护类型为()维护。
与XY(即X与Y不相同时,XY的结果为真)等价的逻辑表达式为________________。
随机试题
不开坡口的单面焊对接焊缝当余高为h,焊缝宽度为C,板厚为δ,间隙为b时,焊缝金属横截面积的计算公式是()。
患者,男性,25岁。餐后运动时突发脐周腹痛伴恶心呕吐,并阵发性加重,发病来未排气排便。查体:体温37.3℃,血压88/62mmHg,心率110次/分;左侧腹部隆起,肠鸣音高亢,压痛明显。WBC10.5×109/L。最可能的诊断是
A.大杼B.膏肓C.申脉D.攒竹E.志室善于治疗呃逆的腧穴是
(2016年)赵某与钱某原本是好友,赵某受钱某之托,为钱某保管一幅名画(价值800万元)达三年之久。某日,钱某来赵某家取画时,赵某要求钱某支付10万元保管费,钱某不同意。赵某突然起了杀意,为使名画不被钱某取回进而据为己有,用花瓶猛砸钱某的头部,钱某头部受重
根据《商业银行个人理财业务管理暂行办法》的规定,商业银行对个人理财业务的季度统计分析报告,应至少包括()。
丁公司采用逐季滚动预算和零基预算相结合的方法编制制造费用预算,相关资料如下: 资料一:2012年分季度的制造费用预算如表3所示。 表32012年制造费用预算 金额单位:元 注:表中“*”表示省略的数据。 资料二:2012年第二季度至2
履行担保一般有________形式。
适应退休的过程可分为()。
某城市9月平均气温为28.5度,如当月最热日和最冷日的平均气温相差不超过10度,则该月平均气温在30度及以上的日子最多有多少天?()
亚里士多德
最新回复
(
0
)