请问下面的二叉树当输出结果后如何将内存释放掉:(程序是正确的,我只想在inorderTraverse()函数后面加一个释放内存的函数,如何操作,请指教),谢谢
#include<stdio.h>
#include<stdlib.h>
typedef struct BiTNOde{
int data;
struct BiTNOde *lchild,*rchild;
}BiTNode,*BiTree;
BiTree CreateTree(BiTree T,int value);
void InorderTraverse(BiTree T);
int main()
{
BiTree T=NULL;
int i,n,value;
printf("Please input create node number:\n");
scanf("%d",&n);
for(i=1;i<=n;i++) //创建二叉树
{
scanf("%d",&value);
T=CreateTree(T,value);
}
InorderTraverse(T); //中序遍历二叉树
printf("null\n");
return 0;
}
BiTree CreateTree(BiTree T,int value)
{
if(T==NULL)
{
T=(BiTree)malloc(sizeof(BiTNode));
if(T)
{
T->data=value;
T->lchild=NULL;
T->rchild=NULL;
}
else
printf("malloc failure.\n");
}
else
{
if(value < T->data)
T->lchild=CreateTree(T->lchild,value);
if(value > T->data)
T->rchild=CreateTree(T->rchild,value);
}
return T;
}
void InorderTraverse(BiTree T)
{
if(T)
{
InorderTraverse(T->lchild);
printf("%d->",T->data);
InorderTraverse(T->rchild);
}
}