1、使用队列
先将树的根节点入队,
如果队列不空,则进入循环
{
将队首元素出队,并输出它;
如果该队首元素有左孩子,则将其左孩子入队;
如果该队首元素有右孩子,则将其右孩子入队
}
C语言代码:
void LevelOrderTraverse(BiTree T,Status(*Visit)(TElemType))
{
//Visit是对节点操作的应用函数,
//在这里,对每个数据元素调用函数Visit,也即是遍历了该节点
SqQueue q;
QElemType p;
if(T)
{
InitQueue(&q);
EnQueue(&q,T);
while(!QueueEmpty(q))
{
DeQueue(&q,&am