二叉树的遍历分为前序遍历、中序遍历、后序遍历
遍历的C语言实现:
typedef char DataType;
typedef struct node
{
DataType data;
struct node *lchild;
struct node *rchild;
}BiTNode, *pBiTNode;
void PreOrderTraverse(pBiTNode pBt)
{
if (pBt != NULL)
{
Visit(pBt->data); //遍历根结点
PreOrderTraverse(pBt->lchild); //遍历左结点
PreOrderTraverse(pBt->rchild); //遍历右节点
}
}
void InOrderTraverse(pBiTNode pBt)
{
if (pBt != NULL)
{
InOrderTraverse(pBt->lchild);
Visit(pBt->data);
InOrderTraverse(pBt->rchild);
}
}
void PostOrderTraverse(pBiTNode pBt)
{
if (pBt != NULL)
{
PostOrderTraverse(pBt->lchild);
PostOrderTraverse(pBt->rchild);
Visit(pBt->data);
}
}