📄 下午.htm
字号:
size=2> */</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 63.75pt"><SPAN
lang=EN-US><FONT size=2> k=<U> (4)
</U>;</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 63.75pt"><SPAN
lang=EN-US><FONT size=2>}</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2>
}</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2>
<U> (5) </U>;</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
}</FONT></SPAN></P>
<P class=MsoNormal><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>试题五</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">阅读下列函数说明和</SPAN><SPAN
lang=EN-US>C</SPAN><SPAN style="FONT-FAMILY: 宋体">代码,将应填入</SPAN><SPAN
lang=EN-US> (n) </SPAN></FONT><SPAN
style="FONT-FAMILY: 宋体"><FONT
size=2>处的字句写在答题纸的对应栏内。</FONT></SPAN></P>
<P class=MsoNormal><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>设二叉树的结点数据类型为:</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
typedef struct node{</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2> char
data</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>;</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2> struct node
*left</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>;</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2> struct node
*right</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>:</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
}BTREE</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>;</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2>[</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">函数</SPAN><SPAN lang=EN-US>5.1</SPAN><SPAN
style="FONT-FAMILY: 宋体">说明</SPAN></FONT><SPAN lang=EN-US><FONT
size=2>]</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">函数</SPAN><SPAN lang=EN-US>void
SortTreelnsert(BTREE **tree</SPAN><SPAN
style="FONT-FAMILY: 宋体">,</SPAN><SPAN
lang=EN-US>BTREE*s)</SPAN><SPAN
style="FONT-FAMILY: 宋体">采用递归方法,将结点</SPAN><SPAN
lang=EN-US>s</SPAN><SPAN style="FONT-FAMILY: 宋体">插入以</SPAN><SPAN
lang=EN-US>*tree</SPAN><SPAN
style="FONT-FAMILY: 宋体">为根结点指针的二叉排序树</SPAN><SPAN
lang=EN-US>(</SPAN><SPAN style="FONT-FAMILY: 宋体">二叉查找树</SPAN><SPAN
lang=EN-US>)</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>中。</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2>[</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">函数</SPAN></FONT><SPAN lang=EN-US><FONT
size=2>5.1)</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
void SortTreelnsert(BTREE **tree</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">,</SPAN></FONT><SPAN lang=EN-US><FONT
size=2>BTREE *S)</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT size=2>
{ if(*tree = = NULL) *tree=S;</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2> else
if(S->data<(*tree)->data)</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2>
SortTreelnsert(<U> (1) </U></FONT></SPAN><FONT
size=2><SPAN style="FONT-FAMILY: 宋体">,</SPAN><SPAN
lang=EN-US>S)</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>;</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2>
else if(S->data>(*tree)->data)</FONT></SPAN></P>
<P class=MsoNormal><SPAN lang=EN-US><FONT
size=2>
SortTreelnsert(<U> (2) </U></FONT></SPAN><FONT
size=2><SPAN style="FONT-FAMILY: 宋体">,</SPAN><SPAN
lang=EN-US>S)</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>;</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2>}</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2>[</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">函数</SPAN><SPAN lang=EN-US>5</SPAN><SPAN
style="FONT-FAMILY: 宋体">.</SPAN><SPAN lang=EN-US>2</SPAN><SPAN
style="FONT-FAMILY: 宋体">说明</SPAN></FONT><SPAN lang=EN-US><FONT
size=2>]</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2> </FONT></SPAN><FONT
size=2><SPAN style="FONT-FAMILY: 宋体">函数</SPAN><SPAN lang=EN-US>void
TraversalTree(BTREE *tree)</SPAN><SPAN
style="FONT-FAMILY: 宋体">用非递归方法,对以</SPAN><SPAN
lang=EN-US>tree</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>为根结点指针的二叉树进行后序遍历。</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2>[</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">函数</SPAN><SPAN lang=EN-US>5</SPAN><SPAN
style="FONT-FAMILY: 宋体">,</SPAN></FONT><SPAN lang=EN-US><FONT
size=2>2]</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2> void TraversalTree(BTREE
*tree)</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2> { BTREE
*stack[1000]</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">,</SPAN><SPAN
lang=EN-US>*p</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>;</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2> int
tag[1000]</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">,</SPAN><SPAN
lang=EN-US>top=0</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>;</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2>
p=tree</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>;</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2>
do {</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2>
while(p!=NULL){</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2>
stack[++top]=p</FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体"><FONT size=2>;</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT
size=2>
<U> (3) </U> </FONT></SPAN><SPAN
style="FONT-FAMILY: 宋体"><FONT size=2>;</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT
size=2>
tag[hop]=0</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">;</SPAN><SPAN lang=EN-US> </SPAN><SPAN
style="FONT-FAMILY: 宋体">/</SPAN><SPAN lang=EN-US>*</SPAN><SPAN
style="FONT-FAMILY: 宋体">标志栈顶结点的左子树已进行过后序遍历</SPAN><SPAN
lang=EN-US>*</SPAN><SPAN style="FONT-FAMILY: 宋体">/</SPAN><SPAN
lang=EN-US> </SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>:</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2>
} </FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT
size=2>
while(top>0 &&<U> (4)
</U>){ /* </FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">栈顶结点的右子树是否被后序遍历过</SPAN><SPAN
lang=EN-US>*</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>/</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2>
p=stack[top--];</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT
size=2>
putchar(p->data)</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>;</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2>
} </FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2>
if (top>0)
{ /*</FONT></SPAN><FONT size=2><SPAN
style="FONT-FAMILY: 宋体">对栈顶结点的右子树进行后序遍历</SPAN><SPAN
lang=EN-US>*</SPAN></FONT><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>/</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT
size=2>
<U> (5)
</U> </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>;</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT
size=2>
tag[top]=1</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>;</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2>
}</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2>
}while(top>0)</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体"><FONT
size=2>;</FONT></SPAN></P>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN
lang=EN-US><FONT size=2>
}</FONT></SPAN></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<P class=MsoNormal style="TEXT-INDENT: 21.75pt"><SPAN lang=EN-US><FONT
color=#0000cc size=2><A
href="http://i-math.zsu.edu.cn/os/practice.htm">返 回</A></FONT></SPAN></P></CENTER></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -