#include <stdio.h>
#include <stdlib.h>
typedef struct Node
{
char data;
struct Node *lchild;
struct Node *rchild;
}BiTreeNode, *BiTree;
BiTree CreateBiTree(BiTree T)//创建二叉树
{
char x;
scanf("%c", &x);
if ('0' == x)
{
T = NULL;
}
else
{
T = (BiTree) malloc (sizeof(BiTreeNode));
T->data = x;
T->lchild = CreateBiTree(T->lchild);
T->rchild = CreateBiTree(T->rchild);
}
return T;
}
void LaterOrderBiTree(BiTree T)//后序遍历
{
if (NULL != T)
{
LaterOrderBiTree(T->lchild);
LaterOrderBiTree(T->rchild);
printf("%c ", T->data);
}
}
void InOrderBiTree(BiTree T)//中序遍历
{
if (NULL != T)
{
InOrderBiTree(T->lchild);
printf("%c ", T->data);
InOrderBiTree(T->rchild);
}
}
void PreOrderBiTree(BiTree T)//前序遍历
{
if (NULL != T)
{
printf("%c ", T->data);
PreOrderBiTree(T->lchild);
PreOrderBiTree(T->rchild);
}
}
int main(void)
{
BiTree T = NULL;
printf("请输入二叉树元素:\n");
printf("先输入节点元素,再输入左子树,最后右子树的顺序输入,\n输入0表示空(可以输入abcd00e00f00g00)\n");
printf(" a\n");
printf(" / \\ \n");
printf(" b g \n");
printf(" / \\ \n");
printf(" c f\n");
printf(" /\\\n");
printf(" d e\n");
T = CreateBiTree(T);
printf("\n\n");
printf("先序遍历:\n");
PreOrderBiTree(T);
printf("\n\n");
printf("中序遍历:\n");
InOrderBiTree(T);
printf("\n\n");
printf("后序遍历:\n");
LaterOrderBiTree(T);
printf("\n\n");
system("pause");
}
erchashu.rar_C++ erchashu_erchashu
版权申诉
82 浏览量
2022-09-23
00:47:28
上传
评论
收藏 699B RAR 举报
邓凌佳
- 粉丝: 65
- 资源: 1万+
最新资源
- 基于matlab实现电磁优化计算功能,进行线型规划优化电磁设计.rar
- 基于matlab实现带精英策略的非支配排序遗传算法matlab 源码.rar
- 基于matlab实现差分进化算法,最新的用于替代遗传算法,是以后的主要发展方法.rar
- VSCode配置c/c++环境教程.md
- 基于matlab实现标准合作型协同进化遗传算法matlab源程序
- 七下人教.zip
- 基于matlab实现本份代码能对图像进行gabor滤波处理,结合指纹方向图以及指纹沟壑频率特性,对指纹图像进行增强.rar
- 基于matlab实现RBM神经网络实现了手写数字体识别的GUI程序.rar
- 基于matlab实现蝙蝠算法优化相关向量机建模对数据进行建模和预测.rar
- 基于matlab实现编写的禁忌搜索算法,解决了TSP问题,对初学者有重要的参考价值.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0