m0_65455692 2022-07-04 14:02 采纳率: 100%
浏览 28
已结题

求帮助代码c语言!!

根据输入的二叉树前序序列(以单个字符作为一个结点的信息)和中序序列,来构造一棵二叉树,然后输出该树的后序序列,以及该树中所有度为1的结点。

  • 写回答

3条回答 默认 最新

  • 庚昀◟ 后端领域优质创作者 2022-07-04 15:36
    关注
    
    #include<stdio.h>
    #include <malloc.h>
    typedef struct LinkList
    {
        char data;
        LinkList* lchild;
        LinkList* rchild;
    }BiNode,*BiTree;
    BiTree createBiTree(BiTree &T)
    {
        char d = getchar();
        if (d == '#')
            T = NULL;
        else
        {
            T = (BiTree)malloc(sizeof(BiNode));
            T->data = d;
            T->lchild = createBiTree(T->lchild);
            T->rchild = createBiTree(T->rchild);
        }
        return T;
    }
    void PostOrder(BiTree T)//后序
    {
        if (T)
        {
            PostOrder(T->lchild);
            PostOrder(T->rchild);
            printf("%c",T->data);
        }
    }
    void printOnce(BiTree T)
    {
        if (T == NULL) return;
        if ((T->lchild == NULL && T->rchild != NULL) || (T->lchild != NULL && T->rchild == NULL))
        {
            printf("%c ", T->data);
        }
        printOnce(T->lchild);
        printOnce(T->rchild);
    }
    int main()
    {
        BiTree T=NULL;
        printf("输入先序遍历结点,建立二叉树\n");
        T = createBiTree(T);
        printf("后序遍历结果:\n");
        PostOrder(T);
        printf("\n输出所有度数为一的结点:\n");
        printOnce(T);
    }
    

    运行效果

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 快乐鹦鹉 2022-07-04 14:54
    关注
    评论 编辑记录
  • CSDN-Ada助手 CSDN-AI 官方账号 2022-07-05 06:00
    关注

    可以查看手册:c语言-exp() 中的内容
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月12日
  • 已采纳回答 7月4日
  • 创建了问题 7月4日

悬赏问题

  • ¥15 大一Python字典
  • ¥15 multisim电路设计(相关搜索:设计报告)
  • ¥15 从github上下载的项目到ecplise上咋运行
  • ¥15 PC-lint Plus
  • ¥15 gpl24676注释
  • ¥15 php5.3内存泄露
  • ¥15 DigSilent如何复制复合模型到自己案例?
  • ¥15 求日版华为b610s-77a 官方公版固件,有偿
  • ¥15 关于#java#的问题,请各位专家解答!(相关搜索:java程序)
  • ¥15 linux tsi721的驱动编译后 insmod 提示 报错