#include <iostream>
using namespace std;
typedef struct BTnode{
char data;
BTnode * lch;
BTnode * rch;
}BTnode,* BTree;
void pre_traverse(BTree &T){
if(T==NULL){
return ;
}
cout<<T->data<<" ";
pre_traverse(T->lch);
pre_traverse(T->rch);
}
void mid_traverse(BTree &T){
if(T==NULL)
return ;
mid_traverse(T->lch);
cout<<T->data<<" ";
mid_traverse(T->rch);
}
void last_traverse(BTree &T){
if(T==NULL)
return ;
last_traverse(T->lch);
last_traverse(T->rch);
cout<<T->data<<" ";
}
int main()
{
BTnode* NodeA=new BTnode;
BTnode* NodeB=new BTnode;
BTnode* NodeC=new BTnode;
BTnode* NodeD=new BTnode;
BTnode* NodeE=new BTnode;
BTnode* NodeF=new BTnode;
BTnode* NodeG=new BTnode;
NodeA->data='A';
NodeB->data='B';
NodeC->data='C';
NodeD->data='D';
NodeE->data='E';
NodeF->data='F';
NodeG->data='G';
NodeA->lch=NodeB;
NodeA->rch=NodeC;
NodeB->lch=NULL;
NodeB->rch=NodeD;
NodeC->lch=NodeE;
NodeC->rch=NodeF;
NodeD->lch=NULL;
NodeD->rch=NULL;
NodeE->lch=NULL;
NodeE->rch=NodeG;
NodeF->lch=NULL;
NodeF->rch=NULL;
NodeG->lch=NULL;
NodeG->rch=NULL;
cout<<"前序遍历:";
pre_traverse(NodeA);
cout<<endl;
cout<<"中序遍历:";
mid_traverse(NodeA);
cout<<endl;
cout<<"后序遍历:";
last_traverse(NodeA);
cout<<endl;
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律