首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C程序,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 借助一个栈结构,可实现二叉树的非递归遍历算法。InOrderTraverse函数实现中序非递归遍历,遍历过程如下:若不是空树,根节点入栈,进入左子树;若已经是空树,则栈顶元素出栈,
阅读下列说明和C程序,将应填入(n)处的字句写在答题纸对应栏内。 【说明】 借助一个栈结构,可实现二叉树的非递归遍历算法。InOrderTraverse函数实现中序非递归遍历,遍历过程如下:若不是空树,根节点入栈,进入左子树;若已经是空树,则栈顶元素出栈,
admin
2014-10-11
84
问题
阅读下列说明和C程序,将应填入(n)处的字句写在答题纸对应栏内。
【说明】
借助一个栈结构,可实现二叉树的非递归遍历算法。InOrderTraverse函数实现中序非递归遍历,遍历过程如下:若不是空树,根节点入栈,进入左子树;若已经是空树,则栈顶元素出栈,访问该元素(根节点),进入该节点的右子树,继续直到遍历完成。函数中使用的预定义符号如下:
typedef struct BiTNode{
int data;
struct BiTNode*lChild, *rChild;
}BiTNode, *BiTree;
typedef struct sNode(/*链栈的节点类型*/
BiTree elem;
struct SN0de *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*/
return0;
}/*InOrderTraverse*/
从下列的3道试题(试题五至试题七)中任选1道解答。如果解答的试题数超过1道,则题号小的l道解答有效。
选项
答案
(1)P!=NULL (2)q->next=stop (3)p->lChild (4)stop=stop一>next (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/2aDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
软件可靠性管理把软件可靠性活动贯穿于软件开发的全过程,成为软件工程管理的一部分。确定软件的可靠性目标在()阶段。
在进行可用性测试时关注的问题应包括()。①安装过程是否困难②错误提示是否明确③GUI接口是否标准④登录是否方便⑤帮助文本是否上下文敏感
(60)是功能测试工具。
己知某文档仅包含6种不同的字符,其每个字符出现的频率如下表所示,采用霍夫曼编码对该文档压缩存储,则单词“face”的编码为_______,该文档的压缩比为25%。
给出关系R(A,B,C)和S(A,B,C),R和S的函数依赖集F={A→B,B→C}。若R和S进行自然连接运算,则结果集有3个属性。关系R和S________。
在C程序中,设有“inta=3,b=2,c=1;”,则表达式a>b>c的值是_________。
[Java源程序:一个简单的Web服务器]/************************************************************//*WebServer.java*//******
阅读以下说明,回答问题1至问题8。[说明]Linux系统开机引导时首先启动内核,由内核检查和初始化硬件设备,载入设备的驱动程序模块,安装root文件系统,然后内核将启动一个名为init的进程。在init运行完成并启动其他必要的后续进程后,
随机试题
固定式龙门铣床水平铣头在立柱上垂直移动(W轴线)对垂直铣头移动(Y轴线)的垂直度超差时如何调整?
关于胸大肌的位置、起止和作用的叙述正确的是【】
术前常规禁食的主要目的是
医师在执业活动中除正当治疗外,不得使用
由于架子工把脚手板铺得太差而加以修正的时间属于()。
( )是指股票的市场价格反映影响股票价格信息的充分程度。
《本草纲目拾遗》中记叙了“强水”,写道:“性最烈,能蚀五金……其水甚强,五金八石皆能穿滴,惟玻璃可盛。”这里的“强水”是指()。
“给定资料”结尾写道:“我们或许应该如作家米兰.昆德拉所言,要“慢下来’,因为自在有为的生活是急不得的。”请结合你对这句话的思考,联系自己的感受和社会实际,自拟题目,写一篇文章。要求:(1)自选角度,见解深刻;(2)参考“给定
下列著名宫殿与所在国家对应不正确的是()。
在社会主义社会个人收入实行按劳分配的原则,是马克思主义的一项基本原理。对这一原理的基本内涵理解正确的是()。
最新回复
(
0
)