이 진 트 리 에서 x 를 값 으로 하 는 뿌리 노드 의 하위 트 리 깊이 를 구하 십시오.

1024 단어 데이터 구조
#include 
#include 
using namespace std;
typedef struct BTNode
{
    int data;
    BTNode  *lchild, *rchild;
}BTNode,*BTree;
//    T    
int get_Depth(BTree T)
{
    int m,n;
    if(T)
    {
        m=get_Depth(T->lchild);
        n=get_Depth(T->rchild);
        return m>=n ? m+1:n+1;
    }
    else
        return 0;
}
//        x          
int Depthx(BTree T, int x)
{
    int m,n;
    if(T)
    {
        if(T->data==x)
          return get_Depth(T);
        else
        {
            m=Depthx(T->lchild, x);
            n=Depthx(T->rchild, x);
            return m>n ? m:n;
        }
    }
    else return 0;
}
//     
void create_BTree(BTree &T)
{
    int x;
    cin>>x;
    if(x==0)  T=NULL;
    else
    {
        T=new BTNode;
        T->data=x;
        create_BTree(T->lchild);
        create_BTree(T->rchild);
    }
}

int main()
{
    BTree T;
    int x;
    create_BTree(T);
    cout<>x)
      cout<

좋은 웹페이지 즐겨찾기