设某二叉树数据元素类型为整型,以二叉链表为存储结构。试编程实现: ⑴ 生成一棵二叉树. ⑵ 用递归算法、
答案:2 悬赏:0 手机版
解决时间 2021-03-06 07:20
- 提问者网友:几叶到寒
- 2021-03-05 17:06
设某二叉树数据元素类型为整型,以二叉链表为存储结构。试编程实现: ⑴ 生成一棵二叉树. ⑵ 用递归算法、
最佳答案
- 五星知识达人网友:煞尾
- 2021-03-05 18:34
前几天也做了个这样的数据结构作业! 你看看 你能不能用上!
#include "stdafx.h"
#include "stdlib.h"
#include "stdio.h"
typedef char TElemType;
typedef struct BiTNode {
TElemType data;
struct BiTNode *lchild, *rchild;
} BiTNode, *BiTree;
BiTree createBiTree() {
TElemType ch;
BiTree T;
scanf("%c", &ch);
if(ch=='@') T=NULL;
else {
T=(BiTNode *)malloc(sizeof(BiTNode));
T->data=ch;
T->lchild=createBiTree();
T->rchild=createBiTree();
}
return T;
}
void preorder(BiTree T) {
if(T) {
printf("%c", T->data);
preorder(T->lchild);
preorder(T->rchild);
}
}
int leaf(BiTree T) {
if(!T) return 0;
if(!T->lchild && !T->rchild) return 1;
else return leaf(T->lchild)+leaf(T->rchild);
}
void main() {
BiTree T;
T=createBiTree();
printf("所输入的树 按先序遍历 输出结果为:\n");
preorder(T);
printf("\n");
printf("叶子个数为:%d", leaf(T));
printf("\n");
}
#include "stdafx.h"
#include "stdlib.h"
#include "stdio.h"
typedef char TElemType;
typedef struct BiTNode {
TElemType data;
struct BiTNode *lchild, *rchild;
} BiTNode, *BiTree;
BiTree createBiTree() {
TElemType ch;
BiTree T;
scanf("%c", &ch);
if(ch=='@') T=NULL;
else {
T=(BiTNode *)malloc(sizeof(BiTNode));
T->data=ch;
T->lchild=createBiTree();
T->rchild=createBiTree();
}
return T;
}
void preorder(BiTree T) {
if(T) {
printf("%c", T->data);
preorder(T->lchild);
preorder(T->rchild);
}
}
int leaf(BiTree T) {
if(!T) return 0;
if(!T->lchild && !T->rchild) return 1;
else return leaf(T->lchild)+leaf(T->rchild);
}
void main() {
BiTree T;
T=createBiTree();
printf("所输入的树 按先序遍历 输出结果为:\n");
preorder(T);
printf("\n");
printf("叶子个数为:%d", leaf(T));
printf("\n");
}
全部回答
- 1楼网友:我住北渡口
- 2021-03-05 19:18
任务占坑
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯