二叉树的遍历

二叉树的遍历分为前序遍历、中序遍历、后序遍历


遍历的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);
	}
}


你可能感兴趣的:(数据结构)