二叉树遍历的核心问题:二维结构的线性
队列实现
队列实现的原理
具体实现步骤
代码实现
void LeverOrderTraversal(BinTree BT) {
Queue Q;
BinTree T;
if (!BT) //若是空树,直接返回
return;
Q = CreatQueue(MAXSIZE); //创建并初始化队列Q
AddQ(Q, BT);
while(!IsEmptyQ(Q)) {
T = DeleteQ(Q);
cout << T->Data; //取出队列的结点
if (T->left)
AddQ(Q, T->left);
if (T->right)
AddQ(Q, T->right);
}
}