二叉树表示
typedef struct TNode *Position;
typedef Position BinTree; // 二叉树类型
struct TNode { // 树的定义
ElementType Data; // 结点数据
BinTree Left; // 指向左子树
BinTree Right; // 指向右子树
};
void LevelorderTraversal(BinTree BT)
{
Queue Q;
BinTree T;
if (!BT) return; // 若是空树则直接返回
Q = CreateQueue(); // 创建并初始化队列Q
AddQ(Q, BT);
while (!IsEmpty(Q)) {
T = DeleteQ(Q);
printf("%d", T->Data); // 访问取出队列的结点
if (T->Left) AddQ(Q, T->Left);
if (T->Right) AddQ(Q, T->Right);
}
}