#include<iostream>
using namespace std;
struct node
{
char data;
node *child1,*child2;
};
class xbb
{
public:
xbb(){r=creat(r);};
~xbb();
void qianxu(){cout<<"\n前序遍历:";qianxu(r);cout<<endl;}; //前序
void zhongxu(){cout<<"中序遍历:";zhongxu(r);cout<<endl;}; //中序 遍
void houxu(){cout<<"后序遍历:";houxu(r);cout<<endl;}; //后序 历
void cengxu(); //层序
private:
node *r;
node *creat(node* b);
void qianxu(node *b);
void zhongxu(node *b);
void houxu(node *b);
};
xbb::~xbb()
{
node *p,*g[100];
int front=-1,rear=0;
g[0]=r;
while(front!=rear)
{
if(front!=-1)delete p;
p=g[++front];
if(p->child1!=NULL)g[++rear]=p->child1;
if(p->child2!=NULL)g[++rear]=p->child2;
}
}
node *xbb::creat(node *b)
{
char ch;
cout<<"请输入信息(‘#’表示截止):";
cin>>ch;
if(ch=='#')b=NULL;
else
{
b=new node;
b->data=ch;
b->child1=creat(b->child1);
b->child2=creat(b->child2);
}
return b;
}
void xbb::qianxu(node *b)
{
if(b==NULL)return;
else
{
cout<<b->data;
qianxu(b->child1);
qianxu(b->child2);
}
}
void xbb::zhongxu(node *b)
{
if(b==NULL)return;
else
{
zhongxu(b->child1);
cout<<b->data;
zhongxu(b->child2);
}
}
void xbb::houxu(node *b)
{
if(b==NULL)return;
else
{
houxu(b->child1);
houxu(b->child2);
cout<<b->data;
}
}
void xbb::cengxu()
{
cout<<"层序遍历:";
node *p,*g[100];
int front=-1,rear=0;
g[0]=r;
while(front!=rear)
{
p=g[++front];
cout<<p->data;
if(p->child1!=NULL)g[++rear]=p->child1;
if(p->child2!=NULL)g[++rear]=p->child2;
}
cout<<"\n"<<endl;
}
int main()
{
xbb l;
l.qianxu();
l.zhongxu();
l.houxu();
l.cengxu();
return 0;
}

木18
- 粉丝: 6
最新资源
- 电气工程自动化在电力系统运行中的运用.docx
- 《物联网应用与技术》最全题库及答案.docx
- 大学计算机基础教学的现状分析与改革方案的设计.docx
- 数据库系统原理.doc
- 我国软件产业发展回顾与下年展望.doc
- Matlab无刷直流电动机双闭环调速系统研究分析.doc
- 移动通信基站设备安装规范.doc
- 互联网+宣传工作模式企业文化传播中的应用.docx
- 大数据与图书馆智能信息技术服务.docx
- 基于电子商务的计算机软件系统集成化维护探究.docx
- 优化方案2017高中数学-第一章-算法初步-1.2.2-1.2.3-条件语句、循环语句新人教A版必修3.ppt
- 混料灌PLC控制实训.doc
- 单片机交通灯控制系统设计大学设计.doc
- 企业信息化管理与电子商务.doc
- 数据库课程设计--java+sql-server--学生管理系统.doc
- 基于项目化的高职《计算机信息技术》课程教学改革探讨.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



- 1
- 2
前往页