📄 tree1_level.cpp
字号:
#include "Tree1.h" //二叉树类
#include "Queue2.h" //链式队列类,模板
void level(Tree1 &t1) //按层次遍历二叉树
{
cout<<"按层次遍历二叉树: ";
Queue2<TreeNode1*> q2; //创建空队列,数据元素是指向二叉树结点的指针
TreeNode1 *p=t1.root;
q2.enQueue(p); //根结点入队
while(!q2.isEmpty()) //队列不空时
{
p=q2.deQueue(); //p指向出队的结点
cout<<p->data<<" "; //访问结点
if(p->left!=NULL)
q2.enQueue(p->left); //p的左孩子结点入队
if(p->right!=NULL)
q2.enQueue(p->right); //p的右孩子结点入队
}
cout<<endl;
}
void main()
{
char *str="ABD.G...CE..FH..."; //标明空子树的先根次序
cout<<"The Tree: "<<str<<"\n";
Tree1 t1(str);
level(t1);
}
/*
程序运行结果如下:
The Tree: ABD.G...CE..FH...
按层次遍历二叉树: A B C D E F G H
撤销二叉树: G D B E H F C A
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -