二叉树是数据结构中很重要的一个知识点,所以掌握二叉树的基本操作对我们以后的学习是有非常大的帮助的。
要求:掌握二叉树的先序、中序、后序、层次遍历的方法。
树的建立时:输入树的节点数据,当输入为空格时证明无节点数据
下面来看基本建立和三种顺序遍历操作代码
int CreateBiTree(BiTree &T) //前序创建树
{
char ch;
scanf("%c",&ch);//输入一个字符
if(ch==' ') //如果输出为空格证明为空节点
{
T=NULL;
}
else
{
T=(BiTree)malloc(sizeof(BiTNode));
T->data=ch;
CreateBiTree(T->lchild); //创建左节点
CreateBiTree(T->rchild); //创建右节点
}
return 1;
}
int PreOrderTraverse(BiTree T) //树的先序遍历
{
if(T==NULL)
return 0;
printf("%c",T->data); //输出节点数据
PreOrderTraverse(T->lchild); //先序遍历左子树
PreOrderTraverse(T->rchild); //先序遍历右子树
return 1;
}
int InOrderTraverse(BiTree T) //树的中序遍历
{
if(T==NULL)
return 0;
InOrderTraverse(T->lchild); //中序遍历左子树
printf("%c",T->data); //输出节点数据
InOrderTraverse(T->rchild)<