基本信息
源码名称:二叉树的相关基础操作
源码大小:7.20KB
文件格式:.c
开发语言:C/C++
更新时间:2021-11-05
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
完成二叉树的各种基本操作

BT  *CreateBTree()
{
   BT  *t;
   char  ch;
   scanf("%c",&ch);
   getchar();
   if(ch=='0')
      t=NULL;
   else
   {
      t=(BT *)malloc(sizeof(BT));
      t->data=ch;
      printf("请输入%c结点的左孩子结点:",t->data);
      t->lchild=CreateBTree();
      printf("请输入%c结点的右孩子结点:",t->data);
      t->rchild=CreateBTree();
   }
   return  t;
}

void ShowBTree(BT *T)                     /*用广义表表示法显示二叉树*/
{   if (T!=NULL)                          /*当二叉树非空时*/
    {   printf("%c",T->data);             /*输入该结点数据域*/
        if(T->lchild!=NULL)               /*若其左子树非空*/
        {   printf("(");                  /*输入左括号*/
            ShowBTree(T->lchild);         /*递归调用该函数输出其左子树各结点*/
            if(T->rchild!=NULL)           /*若其右子树非空*/
            {    printf(",");             /*输出逗号*/
                 ShowBTree(T->rchild);    /*递归调用该函数输出其右子树各结点*/
            }
             printf(")");
        }
        else
          if(T->rchild!=NULL)              /*二叉树左子树为空,右子树不为空时*/
          {
        printf("(");                  /*输入左括号*/
        ShowBTree(T->lchild);         /*递归调用该函数输出其左子树各结点*/
             if(T->rchild!=NULL)           /*若其右子树非空*/
             {   printf(",");              /*输出逗号*/
                 ShowBTree(T->rchild);     /*递归调用该函数输出其右子树各结点*/
             }
             printf(")");
          }
    }
}