文章
1
粉丝
331
获赞
0
访问
12.9k
建立以二叉链作为存储结构的二叉树,先序输入。结果输出:中序遍历、后序遍历,统计叶结点个数。
麻烦哪位大佬帮忙看看我这个代码到底哪里出了问题,怎么都实现不了,输出为空。是二叉树的建立有问题吗,我看了一下午也没找到问题。。。头痛
#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);
...
登录后发布评论
机试攻略里面有详细的讲解呀https://www.bilibili.com/video/BV1AJ411Y7Fm?p=13