首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。 【说明】 下面的程序构造一棵以二叉链表为存储结构的二叉树。 【函数】 BitTree *createbt(BitTree *bt) { BitTr
阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。 【说明】 下面的程序构造一棵以二叉链表为存储结构的二叉树。 【函数】 BitTree *createbt(BitTree *bt) { BitTr
admin
2012-12-10
110
问题
阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。
【说明】
下面的程序构造一棵以二叉链表为存储结构的二叉树。
【函数】
BitTree *createbt(BitTree *bt)
{
BitTree *q;
struct node *s[30];
int j,i;
char x;
printf("i,x=");
scant("%d,%c",&i,&x);
while(i!=0 && x!=’$’)
{
q=(BitTree *}malloc(sizeof(BitTree));//生成一个结点
(1);
q->lchild=NULL;
q->rchild=NULL;
(2) ;
if ((3))
{
j=i/2; // j为i的双亲结点
if(i%2==0)
(4); //i为j的左孩子
else
(5); //i为j的右孩子
}
printf("i,x=");
scanf("%d,%c",&i,&x);
}
return s
;
}
选项
答案
(1)q->data=x (2)s[i]=q (3)i!=1 (4)s[j]->lchild=q (5)s[j]->rchild=q
解析
本题考查二叉树的构造。
题目要求构造一棵二叉树,而二叉树的性质如下:如果对一棵有n个结点的完全二叉树的结点按层序编号(从第1层到第[log2n]+1层,每层从左到右),则对任一结点i(1≤i≤n),有:
(1)如果i=1,则结点i无双亲,是二叉树的根;如果i>1,则其双亲是结点[i/2]。
(2)如果2i>n,则结点i为叶子结点,无左孩子:否则,其左孩子是结点2i。
(3)如果2i+1>n,则结点i无右孩子;否则,其右孩子是结点2i+1。
下面我们来看程序。程序中声明了一个结点指针数组,用来保存生成的树中结点。用从键盘输入的方式来确定要插入的字符x和此结点在二叉树中的位置i(这个位置是指在完全二叉树中编号的位置)。
第(1)空是在生成一个新结点后的操作,生成了一个新结点后,自然要将从键盘输入的字符x值存放进来,以及修改结点的两个指针域。程序中指针域都赋了空,因此,第(1)空的任务应该是将字符x写进来,因此,此空答案为q->data=x。
第(2)空是在对结点完成操作后的操作,根据题目意思,生成的结点应该要保存到数组s中,此数组是一个指针数组,保存结点时,是将结点的地址保存进数组中相应的位置,因此,此空答案为s[il=q。
第(3)空是条件判断语句的条件,结合下面的程序可以知道,此条件语句用来判断当前结点是不是根结点,如果不是,才执行条件语句中的内容。根据上面的分析,如果i=1,则结点i无双亲,是二叉树的根,因此,此空的答案为i!=1。
第(4)空处后面有注释,说明i是j的左孩子结点,这个时候我们应该让j结点的左孩子指针指向结点i,此空就是要实现这一功能。而结点,j被存放在数组s中的第j个位置,因此,此空答案为s
->lchild=q。
从程序中很容易看出,第(5)空与第(4)空功能相似,只是说i是j的右孩子结点,因此,让j结点的右孩子指针指向结点乙此空答案为s[j]->rchild=q。
转载请注明原文地址:https://kaotiyun.com/show/onjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在D盘中有一个文件,其文件名为“D:\信息处理技术员.DOC”,现需要在桌面上建立该文件的快捷方式,可用鼠标右键单击该文件图标,然后______。
在Word2007中,为使内容更加醒目,文章更具有条理性,可在若干段落前面添加__________。
在Excel2007中,在单元格A1中输入函数“=LEN(”信息处理技术员”)”,按回车键后,则A1单元格中的值为__________。
在Excel2007中,(43)________________不是计算从A1到A6单元格中数据之和的公式。
在域名地址www.rkb.gov.cn中,“cn”属于______。
企业上云就是企业采用云计算模式部署信息系统。企业上云已成为企业发展的潮流,其优势不包括()。
数据分析报告的质量要求中不包括()。
在计算机程序设计语言中,可以直接被计算机识别并执行的是______。
程序员一般用(7)软件编写和修改程序。
发送电子邮件属于信息处理的(33)过程。
随机试题
欲用大黄攻下宜
卵泡早期分泌量少,其后逐渐增高,排卵前达高峰,以后降低,黄体期再度增高卵泡前半期分泌量少,以后逐步上升,排卵前24小时迅速升高出现分泌陡峰,24小时后骤降,黄体期维持低水平
下列选项中对危害公共安全罪的特征描述正确的是()
一般来说,一个账户的增加方发生额与该账户的期末余额都应该记在账户的()。
对于被审计单位在被审计期间内发生的坏账损失,注册会计师应检查()。
抢劫罪是以非法占有为目的,对财物的所有人或者保管人当场使用暴力、胁迫或其他方法,强行将公私财物抢走的行为。以下各项中,属于抢劫罪的一项是()。
【2010江西真题】2010年公布的《国家中长期教育改革和发展规划纲要(2010一2020年)》确立了我国未来十年教育改革和发展的工作方针,其内容是()。
根据变量直接定义与否,可将变量分为()形式。
Whatcanelementaryschoolershavefornutritiousdrinks?
______isthelongestriverintheU.S.A.
最新回复
(
0
)