呆鸟特制二叉树

#include <stdio.h>
#include <stdlib.h>
 
typedef struct Node
{
    char data;
    struct Node *LChild;
    struct Node *RChild;
}BiTNode,*BiTree;
 
void CreateBiTree(BiTree *bt)
{
    char ch;
    ch=getchar();
    if (ch=='.') *bt=NULL;
    else
    {
        *bt=(BiTree)malloc(sizeof(BiTNode));
        (*bt)->data=ch;
        CreateBiTree(&((*bt)->LChild));
        CreateBiTree(&((*bt)->RChild));
}
}
void MidOrder (BiTree root)
{if (root!=NULL)
{
 
    MidOrder(root->LChild);
 
printf("%c",root->data);
MidOrder(root->RChild);
 
}
}
void BackOrder (BiTree root)
{if (root!=NULL)
{
 
    BackOrder (root->LChild);
BackOrder (root->RChild);
printf("%c",root->data);
 
}
}
 
 
int main()
{
 BiTNode *a;
      CreateBiTree(&a);
 printf("中序遍历结果");
      MidOrder (a);
  printf("\n后序遍历结果");
 BackOrder (a);
 
 
 return 0;
}
 
 

你可能感兴趣的:(数据结构)