星期三

发布时间 2023-10-18 17:01:39作者: umiQa

二叉树的链式结构

二叉树的数据结构:

typedef struct Node
{
char data;
struct Node *lchild,*rchild;
}*Bitree,BiNode;

分别为根,左孩子,右孩子

二叉树的创建,先序遍历的方式

如输入  “AB#CD###E#F##”

void creatBitree(Bitree &T)
{
char ch;
cin>>ch;
if(ch=='#')
T=NULL;
else
{
T=new BiNode;
T->data=ch;
creatBitree(T->lchild);
creatBitree(T->rchild);
}
}

二叉树的中序遍历:

void InOrderTraverse(Bitree T)
{
if(T)
{
InOrderTraverse(T->lchild);
cout<<T->data;   //访问该节点
InOrderTraverse(T->rchild);
}
}

二叉树的后序遍历 :

void PostOrderTraverse(Bitree T)
{
if(T)
{
InOrderTraverse(T->lchild);
InOrderTraverse(T->rchild);

cout<<T->data;
}
}