已知二叉排序树结点的数据类型定义及二叉排序树的某个算法f32()如下。
typedef struct node
{ int data;
struct node*left,*right;
}BstTree;
void f32(BstTree*root,int k1,int k2)
{ if(root==NULL) return;
if(k1> k2) return;
f32(root-> left,k1,k2);
if(root-> data> =k1&&root-> data<=k2)
printf("%d,",root-> data);
f32(root-> right,k1,k2);
return;
}
请回答下列问题。
(1)f32()的功能是什么?
(2)对于下图所示的二叉排序树T,调用f32(T,100,612)后的输出是什么?
【正确答案】:(1)对给定的两个整数k1和k2,按升序输出二叉排序树中所有满足k1≤结点值≤k2的值。
(2)154,170,275,503,509,512,612,