二叉树的代码(链表实现+递归实现)
新人博主,自己在学习的过程中保存一下自己的学习之路。
如果有哪里出错,欢迎指出。
#include<stdio.h>
typedef struct TreeNode *BinTree;
typedef BinTree Postion;
struct TreeNode
{
int Data;
BinTree Left;
BinTree Right;
};
/*
前序遍历
访问根结点
先序遍历其左子树
先序遍历其右子树
*/
void PreOrderTraversal( BinTree BT )
{
if(BT)
{
printf("%d ",BT->Data);
PreOrderTraversal(BT->Left);
PreOrderTraversal(BT->Right);
}
}
/*
中序遍历
中序遍历其左子树
访问根结点
中序遍历其右子树
*/
void InOrderTraversal( BinTree BT )
{
if(BT)
{
InOrderTraversal(BT->Left);
printf("%d ",BT->Data);
InOrderTraversal(BT->Right);
}
}
/*
后序遍历
后序遍历其左子树
后序遍历其右子树
访问根结点
*/
void PostOrderTraversal( BinTree BT )
{
if(BT)
{
PostOrderTraversal(BT->Left);
PostOrderTraversal(BT->Right);
printf("%d ",BT->Data);
}
}
int main()
{
return 0;
}