C/C++怎么实现横向树状显示二叉树,按层次遍历怎么样
发布网友
发布时间:2022-05-18 23:50
我来回答
共4个回答
热心网友
时间:2022-05-19 01:20
按层次遍历就是所谓的广度优先遍历,在你这个例子里面,广度优先的顺序可以是
a b c d e f g
就是对于一个结点来说,只枚举其子结点(不枚举其孙子结点),如此递归即可
热心网友
时间:2022-05-19 02:38
void leverorder()
{
fornt=rear=-1; //采用顺序队列,并假定不会上溢
if(root==null)return; //二叉树为空,算法结束
Q[++rear]=root; //根指针入队
while(front!=rear) //当队列为空时
{
q=Q[++front]; //出队
cout<<q->data;
if(q->lchild!=null)Q[++rear]=q->lchild;
if(q->rchild!=null)Q[++rear]=q->rchild;
}
}
//Q[++rear]=root 为先前建立的队列
热心网友
时间:2022-05-19 04:12
使用队列保存每一行的节点,然后一一出对遍历其孩子节点追问对,怎么做呢