NOJ数据结构017——输出以二叉树表示的算术表达式

在这里插入图片描述
本题及考查二叉树的中序遍历。

代码:

#include <stdio.h>
#include <stdlib.h>

typedef struct Node
{
    char data;
    struct Node* LChild;
    struct Node* RChild;
}BiNode, *BiTree;

void CreateTree(BiTree *T);  //创建二叉树
void PrePrintTree(BiTree T); //先序输出

int main()
{
    BiTree T;
    CreateTree(&T);
    PrePrintTree(T);
    return 0;
}

void CreateTree(BiTree *T)
{  //创建二叉树
    char c;
    c = getchar();
    if (c == '#') {
        *T = NULL;
        return;
    }
    *T = (BiTree) malloc (sizeof(BiNode));
    (*T)->data = c;
    CreateTree(&(*T)->LChild);
    CreateTree(&(*T)->RChild);
}

void PrePrintTree(BiTree T)
{  //中序输出
    if (T == NULL) {
        return;
    }
    PrePrintTree(T->LChild);
    printf("%c", T->data);
    PrePrintTree(T->RChild);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值