首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C程序,将应填入(n)处的字句写在对应栏中。 [说明] 借助一个栈结构,可实现二叉树的非递归遍历算法。InOrderTraverse数实现中序非递归遍历,遍历 过程如下: 若不是空树,根节点入栈,进入左子树;若已
阅读下列说明和C程序,将应填入(n)处的字句写在对应栏中。 [说明] 借助一个栈结构,可实现二叉树的非递归遍历算法。InOrderTraverse数实现中序非递归遍历,遍历 过程如下: 若不是空树,根节点入栈,进入左子树;若已
admin
2010-12-17
54
问题
阅读下列说明和C程序,将应填入(n)处的字句写在对应栏中。
[说明]
借助一个栈结构,可实现二叉树的非递归遍历算法。InOrderTraverse数实现中序非递归遍历,遍历
过程如下:
若不是空树,根节点入栈,进入左子树;若已经是空树,则栈顶元素出栈,访问该元素(根节点),进入该节点的右子树,继续直到遍历完成。
函数中使用的预定义符号如下:
typedef struct BiTNode{
int data;
struct BiTNode *iChiid,*rChiid;
} BiTNode,*BiTree;
typedef struct SNode{/*链栈的节点类型*/
BiTree elem;
struct SNode *next;
}SNode;
[函数]
int InOrderTraverse(BiTree root)
{
BiTree P;
SNode *q,*stop=NULL;/*不带头节点的单链表作为栈的存储结构*/
P=root;
while(p !=NULL || stop !=NULL){
if( (1) ){ /*不是空树*/
q=(SNode*)malloc(sizeof q);
if(q==NULL)return-1;
/*根节点指针入栈*/
(2);
q->elem=P;
stop=q;
P=(3); /*进入根的左子树*/
}else{
q=stop;
(4); /*栈顶元素出栈*/
printf("%d|,q->elem->data); /*防问根节点*/
P=(5); /*进入根的右子树*/
free(q); /*释放原栈顶元素*/
}/*if*/
}/*while*/
return 0;
}/*InOrderTraverse*/
(5)
选项
答案
q->elem->rChild
解析
本题考察的是二叉树的遍历以及链栈的使用。
由注释可知,空(1)是“不是空树”的条件,应填P!=NULL。
空(2)是链栈入栈操作,stop是指向链栈栈顶的指针,故空(2)应填q->next=stop。
空(3)进入根的左子树,故应填P->lChild。
空(4)是链栈出栈操作,stop是指向链栈栈顶的指针,出栈后,应修改栈顶指针,故应填stop=stop->next。
空(5)是进入右子树,要注意的是,此处是通过链栈节点q进行访问,不能想当然的认为是q->rChild,而应该是q->elem->rChild。
转载请注明原文地址:https://kaotiyun.com/show/uvDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
传统编译器进行词法分析、语法分析、代码生成等步骤的处理时,前一阶段处理的输出是后一阶段处理的输入,则采用的软件体系结构风格是①。该体系结构的优点不包括②。①处应填入?
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天)。活动EH最多可以晚开始①天而不影响项目的进度。由于某种原因,现在需要同一个工作人员完成BC和BD,则完成该项目的最少时间为②天
以下关于软件测试原则的叙述中,正确的是______。①所有软件测试都应追溯到用户需求②尽早地和不断地进行软件测试③完全测试是不可能的④测试无法发现软件潜在的缺陷⑤需要充分注意测试中的群集现象
高度为n的完全二叉树最少的结点数为______。
现要开发一个软件产品的图形用户界面,则最适宜采用______过程模型。
在字长为16位、32位、64位或128位的计算机中,字长为______位的计算机数据运算精度最高。
某算术表达式用二叉树表示如下,该算术表达式的中缀式为________________,其后缀式为________________。
虚拟存储体系由___________两级存储器构成。
软件测试信息流的输入包括______。①软件配置(包括软件开发文档、目标执行程序、数据结构)②开发工具(开发环境、数据库、中间件等)③测试配置(包括测试计划、测试用例、测试驱动程序等)④测试工具(为提高软件测试效率,使用测试
一个Web信息系统所需要进行的测试包括____________。①功能测试②性能测试③可用性测试④客户端兼容性测试⑤安全性测试
随机试题
A(n)________referstotheexistingformtowhichaderivationalaffixcanbeadded.()
OneBritishschoolisfindingthatallowingchildrentolistentomusicoreventohavetheTVonwhilestudyingishelpingimpr
可确认为人类致癌物可定为潜在致癌物
生产经营单位的安全生产管理应有必要的组织保障,一般包括()。
以下属于影响裂纹扩展的因素有()。
期货公司允许客户开仓透支交易的,对透支交易造成的损失,由期货公司承担主要赔偿责任,赔偿额不超过损失的60%。()
甲企业和乙企业共同使用面积为10000平方米的土地,甲企业使用其中的60%,乙企业使用其中的40%。除此之外,经有关部门的批准,乙企业在2008年1月份新征用耕地6000平方米。甲乙企业共同使用土地所处地段的城镇土地使用税年税额为4元/平方米,乙企业新征用
根据国际货币基金组织的划分,比传统钉住安排弹性还小的汇率安排是()。
社会治安综合治理的任务包括()。
A、Itwillnotbeheld.B、It’sveryinteresting.C、Ithasbeenputoff.D、It’snotinteresting.A女士说原定于周六举办的音乐会因赢利少被取消了,男士对这个消息感到
最新回复
(
0
)