查找结点值为x的结点所在的层次,考虑的是结点唯一的情况
int find_node_level(BTNode *bt, ElemType x, int h)
{
if (bt == NULL)
return 0;
else if (bt->data == x)
return h;
else
{
int l = find_node_level(bt->lchild, x, h+1);
if (l != 0)
return l;
else
return find_node_level(bt->rchild, x, h+1);
}
}
思路:结点查找 -->> 遍历二叉树;要判断当前所在层次,利用函数参数和返回值传递信息的作用实现。