【数据结构】树-求节点的层次 C语言
求结点的层次
假设二叉树采用链式方式存储,编写一个函数int Depth(bnode *p, char x),求值为x的结点在二叉树中的层次。
#include "bintree.h"
int L=1;
int Depth(bnode *p,char x)
{
if(p!=NULL)
{
if(p->data==x){
printf("层号:%d",L);
return 1;
} ;
++L;
Depth(p->lch,x);
Depth(p->rch,x);
--L;
}
}
int main(){
bnode *P=creat();
getchar();
char x;
printf("输入查找其层号的节点值:");
scanf("%c",&x);
if(Depth(P,x) ) printf("查找成功!");
}
实验结果: