首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C程序,将应填入(n)处的字句写在对应栏中。 [说明] 借助一个栈结构,可实现二叉树的非递归遍历算法。InOrderTraverse数实现中序非递归遍历,遍历 过程如下: 若不是空树,根节点入栈,进入左子树;若已
阅读下列说明和C程序,将应填入(n)处的字句写在对应栏中。 [说明] 借助一个栈结构,可实现二叉树的非递归遍历算法。InOrderTraverse数实现中序非递归遍历,遍历 过程如下: 若不是空树,根节点入栈,进入左子树;若已
admin
2010-12-17
69
问题
阅读下列说明和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,则完成该项目的最少时间为②天
在结构化分析方法中,用于行为建模的模型是①,其要素包括②。①处应填入?
对于下面的有向图,其邻接矩阵是一个①的矩阵。采用邻接链表存储时,顶点0的表结点个数为2,顶点3的表结点个数为0,顶点1的表结点个数为②个。①处应填入?
高度为n的完全二叉树最少的结点数为______。
调用函数时若是引用调用方式,则是将________________。下面所定义的函数f1为值调用方式,函数f2为引用调用方式。若有表达式x=f1(5),则函数调用执行完成后,该表达式中x获得的值为________________。
某算术表达式用二叉树表示如下,该算术表达式的中缀式为________________,其后缀式为________________。
下图所示的二叉树进行顺序存储(根结点编号为1,对于编号为i的结点,其左孩子结点为2i,右孩子结点为2i+1)并用一维数组BT来表示,已知结点X、E和D在数组BT中的下标为分别为1、2、3,可推出结点G、K和H在数组BT中的下标分别为____________
以下关于测试工作在软件开发各阶段作用的叙述中,不正确的是()。
以下关于数据流图的叙述中,不正确的是______。
随机试题
同样转速的三相交流发电机,静子绕组极数越多,发出的频率越高。()
国际政治格的含义有哪些?
关于人工气道气囊压力,下列说法错误的是
肠热症发病1周内,检出伤寒沙门菌最高阳性率的方法是
________除了具有旅行担保、证明功能外,还具有违约救济功能。
生产企业ERP软件的功能模块包括()。
以下属于婚姻六礼的有()。
甲、乙订立一份建材买卖合同,约定甲付款一个月后乙发货。甲听说乙资金链断裂,正在转移资产。对此,下列说法正确的是()
Todaymanytelephoneusersregardinternationalcallsasroutineandoverseasservice,thankstounderseacablesandcommunicati
Withthedebateonlydaysaway,bothpresidentialcampaignssoughttoreinforcenegativeimagesoftheir______.
最新回复
(
0
)