数据结构与算法第10周作业——二叉树的创建和遍历算法

一、二叉树的创建算法(递归方式)

二、二叉树的先序、中序和后序遍历算法

#include<stdio.h>
#include<stdlib.h>
typedef struct TNode
{
struct TNode *lchild;
int data;
struct TNode *rchild;
}TNode,*BTree;
void createBiTree(BTree &T)
{
char x;
scanf("%d",&x);
if(x!=0)
{
T=(TNode *)malloc(sizeof(TNode));
T->data=x;
createBiTree(T->lchild);
createBiTree(T->rchild);
}
else
{
T=NULL;
}
}
void preOrderTraverse(BTree T)
{
if(T!=NULL)
{
printf("%d",T->data);
preOrderTraverse(T->lchild);
preOrderTraverse(T->rchild);
}
}
void InOrderTraverse(BTree T)
{
if(T!=NULL)
{
InOrderTraverse(T->lchild);
printf("%d",T->data);
InOrderTraverse(T->rchild);
}
}
void AfterTraverse(BTree T)
{
if(T!=NULL)
{
AfterTraverse(T->lchild);
AfterTraverse(T->rchild);
printf("%d",T->data);

}
}
int main()
{
BTree T;
createBiTree(T);
printf("先序遍历输出结果为:");
preOrderTraverse(T);
printf("\n中序遍历输出结果为:");
InOrderTraverse(T);
printf("\n后序遍历输出结果为:");
AfterTraverse(T);
}

转载于:https://www.cnblogs.com/bgd150809336/p/6810394.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值