typedef struct BTNode{
int data;
struct BTNode *lchid,*rchild;
}*BiTree,BTNode;
1.递归算法
int level=0;
void xlevel(Bitree T,int x)
{
while(T)
{
level++;
if(x==T->data)
return;
else if(x>T->data)
xlevel(T->rchild,x);
else
xlevel(T->lchild,x);
}
}
2.非递归算法
int level(Bitree T,BTNode *p)
{
int n=0;
while(T) //
{
n++;
if(T->data==p->data)
return n; //找到,返回
else if(T->data<p->data)
T=T->rchild;
else
T=T->lchild;
}
return -1; //查找失败
}