大大怪的一亩三分地 2021-11-22 23:50 采纳率: 100%
浏览 38
已结题

#创建二叉树,并先序遍历# 代码没有出错,但是输入:ab##cd##,没有显示结果出来

#创建二叉树,并先序遍历# 代码没有出错,但是输入:ab##cd##,没有显示结果出来 (*꒦ິ⌓꒦ີ)求大佬帮忙看一下
#include<stdio.h>
#include<conio.h>
#include<malloc.h>
#include<stdlib.h>
typedef struct node {
char data; //存放数据域
struct node *lchild,*rchild;//创建两个结构体指针变量 ,也就是定义了两个指向该结构体的指针 。遍历左子树指针,遍历右子树指针
}bnode;
typedef struct node blink;//创建新的标签,用blink来代替struct node
void xian(blink bt)
{
if(bt)
{
printf("%c",bt->data);
xian(bt->lchild);
xian(bt->rchild);
}
}
blink create(blink bt)
{
char ch;
scanf("%c",&ch);
getchar();
if(ch=='#')
bt=NULL;
else
{
bt=(blink)malloc(sizeof(bnode));
if(!bt)
exit(-1);
bt->data=ch;
bt->lchild=create(bt->lchild);
bt->rchild=create(bt->rchild);
}
return bt;
}
int main()
{
blink bt=NULL;
create(bt);
xian(bt);
return 0;
}

  • 写回答

1条回答 默认 最新

  • 关注

    你题目的解答代码如下:

    #include <stdio.h>
    #include <conio.h>
    #include <malloc.h>
    #include <stdlib.h>
    typedef struct node
    {
        char data;                    //存放数据域
        struct node *lchild, *rchild; //创建两个结构体指针变量 ,也就是定义了两个指向该结构体的指针 。遍历左子树指针,遍历右子树指针
    } bnode;
    typedef struct node blink; //创建新的标签,用blink来代替struct node
    void xian(blink *bt)
    {
        if (bt)
        {
            printf("%c", bt->data);
            xian(bt->lchild);
            xian(bt->rchild);
        }
    }
    blink* create()
    {
        blink *bt;
        char ch;
        scanf("%c", &ch);
        getchar();
        if (ch == '#')
            bt = NULL;
        else
        {
            bt = (blink *)malloc(sizeof(bnode));
            if (!bt)
                exit(-1);
            bt->data = ch;
            bt->lchild = create();
            bt->rchild = create();
        }
        return bt;
    }
    int main()
    {
        blink *bt = NULL;
        bt = create();
        xian(bt);
        return 0;
    }
    

    如有帮助,望采纳!谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月1日
  • 已采纳回答 11月23日
  • 创建了问题 11月22日

悬赏问题

  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答