用c++编程,要求用后续遍历建立二叉树,并遍历输出
答案:1 悬赏:60 手机版
解决时间 2021-03-21 06:46
- 提问者网友:美人性情
- 2021-03-20 16:10
用c++编程,要求用后续遍历建立二叉树,并遍历输出
最佳答案
- 五星知识达人网友:爱难随人意
- 2021-03-20 17:20
#include<iostream>
typedef char TElemType;
class BiTNode{
public:
BiTNode():data(0),lchild(NULL),rchild(NULL){}
TElemType data;
BiTNode *lchild,*rchild;
};
void CreateBiTree(BiTNode **T)
{
std::cout<<"请前序遍历输入各节点:";
TElemType ch;
std::cin>>ch;
std::cin.clear();
if(ch=='#')
*T=NULL;
else
{
*T=new BiTNode;
if(!*T)
exit(1);
(*T)->data=ch;
CreateBiTree(&(*T)->lchild);
CreateBiTree(&(*T)->rchild);
}
}
void PreOrderTraverse(BiTNode *T)
{
if (T==NULL)
return;
std::cout<<T->data<<"\t";
PreOrderTraverse(T->lchild);
PreOrderTraverse(T->rchild);
}
void InOrderTraverse(BiTNode *T)
{
if (T==NULL)
return;
InOrderTraverse(T->lchild);
std::cout<<T->data<<"\t";
InOrderTraverse(T->rchild);
}
void PostOrderTraverse(BiTNode *T)
{
if(T==NULL)
return;
PostOrderTraverse(T->lchild);
PostOrderTraverse(T->rchild);
std::cout<<T->data<<"\t";
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯