文章

1

粉丝

331

获赞

0

访问

12.9k

头像
关于二叉树的建立和遍历问题(题库1109)
学习交流
发布于2020年5月4日 17:22
阅读数 12.9k

建立以二叉链作为存储结构的二叉树,先序输入。结果输出:中序遍历、后序遍历,统计叶结点个数。

麻烦哪位大佬帮忙看看我这个代码到底哪里出了问题,怎么都实现不了,输出为空。是二叉树的建立有问题吗,我看了一下午也没找到问题。。。头痛crying

#include<stdio.h>
#include<string.h>

char c[20];
int i=0,sum=0;;

typedef struct node{
    char data;
    struct node *lchild,*rchild;
}Binode,*Bitree;

void Buildtree(Binode *p){
    p=(struct Binode*)malloc(sizeof(Binode));
    if(c[i]!=0){
        p->data=c[i++];Buildtree(p->lchild);Buildtree(p->rchild);
    }
    else p=NULL;
}

void INprint(Binode *p){
    if(p) {
        INprint(p->lchild);
        printf("%c ",p->data);
        INprint(p->rchild);
    }
}

void POSTprint(Binode *p){
    if(p) {
        POSTprint(p->lchild);
        POSTprint(p->rchild);
        printf("%c ",p->data);
    }
}

void Find(Binode *p){
    Find(p->lchild);
    Find(p->rchild);
    if(p->lchild==NULL&&p->rchild==NULL) sum++;
}

int main(){
    Bitree head;
    scanf("%s",c);
  ...
登录查看完整内容


登录后发布评论

4 条评论
bocai
2020年5月4日 18:06

机试攻略里面有详细的讲解呀surprisehttps://www.bilibili.com/video/BV1AJ411Y7Fm?p=13

赞(0)

莉莉羊 : 回复 bocai: 我看过这个视频 了解思路了 可具体实现就总有问题 都是细节问题 错现在是找到了 自己电脑可以通过 但是oj又通过不了。。。

2020年5月4日 20:39

bocai : 回复 莉莉羊: 那可以多测一些数据看看

2020年5月4日 20:48

莉莉羊 : 回复 bocai: 那我再多尝试尝试,确实太多细节估计没考虑到,谢谢了哈~

2020年5月5日 10:37