利用二叉链表存储,并且利用递归的方法实现二叉树的遍历(前序遍历、中序遍历和后续遍历)操作。
c语言具体实现代码如下:
#include
#include
#include
typedef int ElemType;//数据类型
//定义二叉树结构,与单链表相似,多了一个右孩子结点
typedef struct BiTNode
{
ElemType data;
struct BiTNode *lChild,*rChild;
}BiTNode,*BiTree;
//先序创建二叉树
int CreateBiTree(BiTree *T)
{
ElemType ch;
ElemType temp;
scanf("%d",&ch);
temp=getchar();
if(ch==-1)
{
*T=NULL;
}
else
{
*T=(BiTree)malloc(sizeof(BiTNode));
if(!(*T))
{
exit(-1);
}
(*T)->data=ch;
printf("输入%d的左子结点:",ch);
CreateBiTree(&(*T)->lChild);
printf("输入%d的右子结点:",ch);
<