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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测