/二叉树的层次遍历,采用队列的形式来描述;
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;
}
}
}
}
本文介绍了一种使用队列实现的二叉树层次遍历算法。通过将根节点加入队列开始,逐层访问每个节点,并将其左右子节点依次加入队列中,直至队列为空,完成整个二叉树的遍历。
344

被折叠的 条评论
为什么被折叠?



