为了账号安全,请及时绑定邮箱和手机立即绑定

建立一棵二叉树,要求先建立一个空树InitTree()和销毁树DestroyTree()函数?

建立一棵二叉树,要求先建立一个空树InitTree()和销毁树DestroyTree()函数?

HUX布斯 2019-02-05 10:06:41
建立一棵二叉树,要求先建立一个空树InitTree()和销毁树DestroyTree()函数,
查看完整描述

2 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

#include<iostream>
using namespace std;
typedef char ElemType;
struct BTreeNode
{ ElemType data;
BTreeNode *leftChild;
BTreeNode *rightChild;
};

void InitTree(BTreeNode* T)
{
T=NULL;
}

void DestroyTree(BTreeNode* T)
{
if(T!=NULL) {
DestroyTree(T->leftChild);
DestroyTree(T->rightChild);
delete T;
}

}

void CreateBiTree(BTreeNode* &T)
{ ElemType mark;
cin>>mark;
if(mark=='$') T=NULL;
else {
T=new BTreeNode;
T->data=mark;
CreateBiTree(T->leftChild);
CreateBiTree(T->rightChild);
}
}

void InOrder(BTreeNode* T )
{
if(T!=NULL)
{
InOrder(T->leftChild);
cout<<T->data;
InOrder(T->rightChild);
}
}

void main()
{
BTreeNode *T=new BTreeNode;
InitTree(T);
cout<<"按先序序列输入:"<<endl;
cout<<"例如输入ABC$$DE$G$$F$$$"<<endl;
CreateBiTree(T);
cout<<"按中序序列输出:"<<endl;
InOrder(T );
cout<<endl;
DestroyTree(T);
}



查看完整回答
反对 回复 2019-03-16
  • 2 回答
  • 0 关注
  • 1352 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信