CH5_60.C
上传用户:lgb298
上传日期:2013-03-22
资源大小:1025k
文件大小:1k
源码类别:

软件工程

开发平台:

C/C++

  1. #include <alloc.h>
  2. #include <stdio.h>
  3. typedef struct node
  4. {   char data;
  5.     struct node *lchild,*rchild;
  6. }JD;
  7. JD *crt_bt_pre(JD *bt)
  8. {  char ch;
  9.    printf("ch=");
  10.    scanf("%c",&ch);
  11.    getchar();
  12.    if(ch==' ')  bt=NULL;
  13.    else
  14.    {   bt=(JD *)malloc(sizeof(JD));
  15.        bt->data=ch;
  16.        bt->lchild=crt_bt_pre(bt->lchild);
  17.        bt->rchild=crt_bt_pre(bt->rchild);
  18.    }
  19.    return(bt);
  20. }
  21. void treedepth(JD *bt,int *l,int *h)
  22. {
  23.     int l1=0,l2=0,h1=0,h2=0;
  24.     if(bt!=NULL)
  25.     {  (*l)++;
  26.        if (*l>*h) *h=*l;
  27.        treedepth(bt->lchild,&l1,&h1);
  28.        treedepth(bt->rchild,&l2,&h2);
  29.        if (h1>h2)  *h=*h+h1;
  30.        else *h=*h+h2;
  31.     }
  32. }
  33. void main()
  34. {  /* ABC00DE0G00F000  */
  35.     JD *head=NULL;
  36.     int level=0,high=0;
  37.    head=crt_bt_pre(head);
  38.    treedepth(head,&level,&high);
  39.    printf("depth of tree is %dn",high);
  40. }