二叉树中序遍历的非递归算法如下所示。请填写算法中下划线的空白处。[br][/br]Status Inorder(BiTree T){[br][/br] InitStack(s);push(s,T); While ( (1)){[br][/br] While (gettop(s,p)&&p) push (s, (2)); pop(s,p); if(!StackEmpty(s)){ pop(s,p);printf( (3)); push(s, (4));[br][/br] }//if[br][/br] }//while[br][/br] return ok;[br][/br]}//Inorder[br][/br]注:[br][/br]InitStack(s);初始化一个栈s;[br][/br]push(s,p);将所指向的结点进s栈[br][/br];pop(s,p);s栈顶元素出栈;[br][/br]gettop(s,p);取s栈顶元素;[br][/br]StackEmpty(s);判栈s是否为空。
【解答】[br][/br](1)!StackEmpty(s) (2)p->lchild (3)"%d",p->data (4)p->rchild
举一反三
- 经过以下栈运算后x的值是()。<br/>InitStack(); Push(s,a);<br/>Push(s,b); Pop(s,x); GetTop(s,x); A: a B: b C: 1 D: 0
- 请选出正确的程序段[br][/br]A)int*p; B)int*s,k;[br][/br]scanf("%d",p); *s=100;[br][/br]… …[br][/br]C)int*s,k; D)int*s,k;[br][/br] char*p,c; char*p,e;[br][/br] s=&k; s=&k;[br][/br] p=&c; p=&c; A: A)int*p;<br>scanf("%d",p);<br>… B: B)int*s,k;<br>*s=100;<br>... C: C)int*s,k;<br>char*p,c;<br>s=&k; D: D)int*s,k;<br>char*p,e;<br>s=&k;
- 以下函数的功能对应于 。[br][/br]int fun(char *s, char *t) {[br][/br]while( (*s)&&(*t)&&(*t==*s)){[br][/br]t++;[br][/br]s++;[br][/br]}[br][/br]return(*s-*t);[br][/br]} A: strlen(s)+strlen(t) B: strcmp(s,t) C: strcpy(s,t) D: strcat(s,t)
- 以下能正确计算1*2*3*……*10的程序段是( )。 A: do<br>{<br>i=1; s=1;<br>s*=i;<br>i++;<br>} while(i<=10); B: do<br>{<br>i=1; s=0;<br>s*=i;<br>i++;<br>} while(i<=10); C: i=1; s=1;<br>do<br>{<br>s*=i;<br>i++;<br>} while(i<=10); D: i=1; s=0;<br>do<br>{<br>s*=i;<br>i++;<br>} while(i<=10);
- 以下函数的功能是()。[br][/br]int fun(char *s)[br][/br]{ char *t=s;[br][/br] while(*t)[br][/br] t++;[br][/br] return (t-s);[br][/br]} A: 比较两个字符串的大小 B: 计算s所指字符串占用的内存字节数 C: 计算s所指字符串的长度 D: 将s所指字符串复制到字符串t中
内容
- 0
以下程序的输出结果是______。 [br][/br]ss=['e','h','b','s','l','p'] [br][/br]for i in range(len(ss)): [br][/br] print(max(ss),end=',') [br][/br] ss.remove(max(ss)) A: s,p,l B: s,p,l, C: s,p,l,h,e,b, D: s,p,l,h,
- 1
下列函数的功能是____。[br][/br]int fun(char *s)[br][/br]{[br][/br] char *t;[br][/br] t = s;[br][/br] while ( *t ) t++;[br][/br] return (t-s);[br][/br]}
- 2
字符数组s不能作为字符串使用的是()。 A: char<br/>s[]="happy"; B: char<br/>s[6]={'h','a','p','p','y','\0'}; C: char<br/>s[]={"happy"}; D: char<br/>s[5]={'h','a','p','p','y'};
- 3
下面选项中t不是s的子序列的是<br/>( ) A: s=<br/>t= B: s=<br/>t= C: s=<br/>t= D: s=<br/>t=
- 4
已知链接栈S,指针变量top指向S的栈顶,则删除栈顶元素的操作序列为() A: top->link<br/>= top B: top<br/>= top->link C: top<br/>= top - 1 D: top<br/>= top + 1