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

软件工程

开发平台:

C/C++

  1. #include <alloc.h>
  2. #include <stdio.h>
  3. #define M 20
  4. typedef struct node
  5. {   char data;
  6.     struct node *lchild,*rchild;
  7. }JD;
  8. void inorder(JD *bt)
  9. {   int i=0;
  10.     JD *p,*s[M];
  11.     p=bt;
  12.     do
  13.     {  while(p!=NULL)
  14.        {   s[i++]=p;
  15.    p=p->lchild;
  16.        }
  17.        if(i>0)
  18.        {   p=s[--i];
  19.    printf("%ct",p->data);
  20.    p=p->rchild;
  21.        }
  22.     }while(i>0||p!=NULL);
  23. }
  24. JD *crt_bt_pre(JD *bt)
  25. {  char ch;
  26.    printf("ch=");
  27.    scanf("%c",&ch);
  28.    getchar();
  29.    if(ch==' ')  bt=NULL;
  30.    else
  31.    {   bt=(JD *)malloc(sizeof(JD));
  32.        bt->data=ch;
  33.        bt->lchild=crt_bt_pre(bt->lchild);
  34.        bt->rchild=crt_bt_pre(bt->rchild);
  35.    }
  36.    return(bt);
  37. }
  38. void main()
  39. {  JD *head=NULL;
  40. /*   char a[]={'A','B','C',' ',' ','D','E',' ','G',' ',' ','F',' ',' ',' '};*/
  41.    head=crt_bt_pre(head);
  42.    inorder(head);
  43. }