#include<bits/stdc++.h>
using namespace std;
struct Treenode
{
int data;
Treenode *lchild;
Treenode *rchild;
};
void PrintTree(Treenode *tmp) // 按层次遍历二叉树的函数
{
queue<Treenode*>q;
q.push(tmp);
while(!q.empty())
{
Treenode *w=q.front();
cout<<w->data<<" ";
q.pop();
if(w->lchild!=0)
{
q.push(w->lchild);
}
if(w->rchild!=0)
{
q.push(w->rchild);
}
}
}
int main()
{
// 静态构造二叉树
Treenode a,b,c,d,e,f,g;
a.data=1; b.data=2;
c.data=3; d.data=4;
e.data=5; f.data=6;
g.data=7;
a.lchild=&b; a.rchild=&c;
b.lchild=b.rchild=0;
c.lchild=&d; c.rchild=&e;
d.lchild=&f; d.rchild=&g;
e.lchild=e.rchild=0;
f.lchild=f.rchild=0;
g.lchild=g.rchild=0;
PrintTree(&a); // 按层次输出二叉树
return 0;
}
层次遍历二叉树(队列解决)
最新推荐文章于 2022-03-30 21:23:38 发布