/二叉树的层次遍历,采用队列的形式来描述;
void levelOrder(PTreeT root)
{
PTreeT queue[MaxSize],p;
p=root;//将根节点赋给p;
int front=0;//队首;
int rear=0;//队尾
if (p!=NULL)
{
queue[++rear]=p;//根节点入队;
while (front<rear)//队列不为空
{
p=queue[++front];//根节点出队
cout<<p->data<<"\t";//打印出出队节点的值;
if (p->left!=NULL)//如果当前节点的左孩子节点不为空,入队;
{
queue[++rear]=p->left;
}
if (p->right!=NULL)//如果当前节点的右孩子节点不为空,入队;
{
queue[++rear]=p->right;
}
}
}
}