用循环队列或者链式队列都可以实现。
void traverse_ceng(Tree myTree)
{
TreeNodePtr a = myTree.head;
if (a == NULL)
{
return;
}
queue myQueue;
init_queue(&myQueue);
enQueue(&myQueue, *a);
cout << "层序遍历:";
while (!isEmpty_queue(myQueue))
{
TreeNode myNode;
deQueue(&myQueue,&myNode);
cout << myNode.data << " ";
if ((myNode.lchild) != NULL)
{
enQueue(&myQueue, *(myNode.lchild));
}
if ((myNode.rchild) != NULL)
{
enQueue(&myQueue, *(myNode.rchild));
}
}
cout << endl;
}