更多"[说明]
完成以下中序线索化二叉树的算法。
[函数]
Ty"的相关试题:
[单项选择]如果将该二叉树存储为对称序线索二叉树,则结点H的左线索指向哪一个结点( )
A. 结点A
B. 结点C
C. 结点E
D. 结点G
[单项选择]在线索化二叉树中,结点T↑没有左子树的充分条件是( )。
A. ↑L child=NIL
B. ↑L tag=1
C. ↑L tag=1且T↑L child=NIL
D. 以上答案都不对
[单项选择]若X是后序线索二叉树中的叶结点,且X存在左兄弟结点Y,则X的右线索指向的是
A. X的父结点
B. 以Y为根的子树的最左下结点
C. X的左兄弟结点Y
D. 以Y为根的子树的最右下结点
[单项选择]如果将该二叉树存储为对称序线索二叉树,则结点H的左线索指向_______。
A) 结点A B) 结点C C) 结点E D) 结点G
[单项选择]有以下程序:
int a=4;
int f(int n)
int t=0;static int a=5;
if(n%2) int a=6;t+=a++;
elseint a;7;t+=a++;
return t+a++;
main( )
int s=a,i=0;
for(;i<2;i++)s+=f(i);
printf("%d/n",s);
程序运行后的输出结果是()。
A. 24
B. 28
C. 32
D. 36
[单项选择]有以下程序:
int a=2;
int f(int n)
{static int a=3;
int t=0;
if(n%2){ static int a=4; t+=a++; } else { static int a=5; t+=a++; } return t+a++;
}
main( )
{ int s=a,i; for(i=0;i<3;i++) s+=f(i); printf("%d/n",s);
}
程序运行后的输出结果是______。
A. 26
B. 28
C. 29
D. 24
[简答题]
【函数1.2说明】
函数merge(int a[],int n,int b[],int m,int
*c)是将两个从小到大有序数组a和b复制合并出一个有序整数序列c,其中形参n和m分别是数组a和b的元素个数。
【函数1.2】
void merge(int a[ ],int n,int b[ ],int
m,int *c)
{ int i,j;
for(i=j:0;i<n
&& j<m;)
*c++ =a[i] <b[j]
a[i++]:b[j++];
while(i<n) (2) ;
while(j<m) (3) ;
}
[单项选择]有以下程序:
int fun(int x[],int n)
static int sum=0,i;
for(i=0;i<n;i++)sum+=x[i];
return sum;
main( )
int a[]=1,2,3,4,5,b[]=6,7,8,9,s=0;
s=fun(a,5)+fun(b,4);printf("%d/n",s);
程序执行后的输出结果是( )。
A. 45
B. 50
C. 60
D. 55
[单项选择]有以下程序:
void fun( int *a, int i, int j)
int t;
if ( i<j )
t=a[i];a[i]=a[j];a[j]=t;
fun (a,++i,--j);
main( )
int a[]=1,2,3,4,5,6),i;
fun(a,0,5)
for( i=0; i<6; i++) printf("%d",a[i]);
执行后的输出结果是( )。
A. 654321
B. 432156
C. 456123
D. 123456
[单项选择]有以下程序
void fun(int *a, int i, int j)
int t;
if(i<j)
t=a[i]; a[i]=a[j]; a[j]=t;
i++ ; j-- ;
fun(a,i,j);
main( )
int x[]=2,6,1,8,i;
fun(x,0,3);
for(i=0;i<4; i++)printf("%2d",x[i]);
程序运行后的输出结果是______。
A. 1 2 6 8
B. 8 6 2 1
C. 8 1 6 2
D. 8 6 1 2
[填空题]有以下程序
int fa(int x)return x*x;
int fb(int x)return x*x*x;
int f(int(*fl)( ),int(*f2)( ),int x
return f2(x)-f1(x);
main( )
int i;i=f(fa,fb,2);printf("%d/n",i);
程序运行后,输出结果是 【8】 。
[单项选择]有以下程序
int a=4;
int f(int n)
{int t=0;static int a=5;
if(n%2){int a=6;t+=a++;}
else{int a=7;t+=a++;}
return t+a++;
}
main( )
{int S=a,i=0;
for(;i<2;i++)S+=f(i);
prinff("%d\n",s);
}
程序运行后的输出结果是【 】。
A. 24
B. 28
C. 32
D. 36
[填空题]设有说明:
struct DATE int year; int month; int day;;
请写出一条定义语句,该语句定义d为上述结构体类型变量,并同时为其成员year,month、day依次赋初值2006、10、1:______。
[单项选择]有以下程序:
int fa(int x)
return x*x;)
int fb(int x)
return x*x*x;
int f(int (*f1)( ).int (*f2)( ),int x)
return f2(x)-f1(x);
main( )
int i;
i=f(fa,fb,2);printf("%d/n",i);
程序运行后的输出结果是( )。
A. -4
B. 1
C. 4
D. 8
[填空题]有以下程序
int fa(int x) return x*x;
int fb(int x)return x*x*x;
int f(int (*f1)( ),int(*f2)( ),int x)
return f2(x)-f1(x);
main( )
int i; i=f(fa,fb,2);printf("%d/n"i;
程序运行后的输出结果是______。
[单项选择]有以下程序:
int a=2;
int f(int n)
static int a=3;
int t=0;
if(n % 2)(static int a=4; t+=a++;
elsestatic int a=5; t+=a++;
return t+a++;
matin( )
int s=a, i;
for(i=0; i<3; i++)s+=f(i);
printf("% d/n", s);
程序运行后的输出结果是______。
A. 26
B. 28
C. 29
D. 24