实训(1)由图所示的二叉树创建对应的二叉链存储结构b,该二叉树的括号表示串为“A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I))”。(2)输出二叉树b。(3)输出‘H’结点的左右

这段代码演示了如何用C语言创建一个二叉链存储结构的二叉树,根据给定的括号表示串,并输出二叉树。同时,查找'H'节点及其左右孩子,并计算二叉树的高度。
摘要由CSDN通过智能技术生成

include<stdio.h>
include<malloc.h>
define MaxSize 100
typedef char ElemType;
typedef struct node
{
    ElemType data;
    struct node *lchild;
    struct node *rchild;
}BTNode;
void CreateBTree(BTNode *&b,char *str)
{
    BTNode *St[MaxSize],*p;
    int top=-1,k,j=0;char ch;
    b=NULL;
    ch=str[j];
    while(ch!='\0')
    {
        switch(ch)
        {
        case '(':top++;St[top]=p;k=1;break;
        case ')':top--;break;
        case ',':k=2;break;
        default:p=(BTNode *)malloc(sizeof(BTNode));
            p->data=ch;p->lchild=p->rchild=NULL;
            if(b==NULL)
                b=p;
            else
            {
                switc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值