二叉树的层次遍历
2013-05-23 19:47
417 查看
/二叉树的层次遍历,采用队列的形式来描述;
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;
}
}
}
}
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;
}
}
}
}
相关文章推荐
- 二叉树的层次遍历
- LintCode 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树系列1: 层次遍历二叉树
- 二叉树按层次遍历--队列实现
- 二叉树的层次遍历
- java实现二叉树的层次遍历
- lintcode-二叉树的层次遍历 II
- 二叉树的层次遍历
- 二叉树的层次遍历,lintcode
- Leetcode 107 Binary Tree Level Order Traversal II 二叉树层次遍历与倒转
- 二叉树的锯齿形层次遍历
- 二叉树的层次遍历以及二叉树的深度
- 【面试】基于二叉树层次遍历相关问题的求解
- java语言实现二叉树的前序、中序与后序遍历(递归与非递归) 层次遍历
- 二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- LintCode 二叉树的层次遍历
- 第11周—项目1(1)二叉树的层次遍历算法
- python实现二叉树的建立以及遍历(递归前序、中序、后序遍历,队栈前序、中序、后序、层次遍历)
- 二叉树的先序 中序 后序 层次遍历 求叶节点个数、深度、最大元、最小元