二叉树层次遍历
2013-05-06 00:31
260 查看
void level_traverse(Node * root, void (*visit)(T&))
/* Post: The tree is traversed level by level, starting from the top.
The operation *visit isapplied to all entries.
*/
{
Node *sub_root;
if (root != NULL) {
queue<Node*> waiting_nodes;
// Queue<Binary_node<Entry> *>
waiting_nodes;
waiting_nodes.push(root);
do {
sub_root =
waiting_nodes.front();
(*visit)(sub_root->data);
if (sub_root->left)
waiting_nodes.push(sub_root->left);
if (sub_root->right)
waiting_nodes.push(sub_root->right);
waiting_nodes.pop();
} while (!waiting_nodes.empty());
}
}
/* Post: The tree is traversed level by level, starting from the top.
The operation *visit isapplied to all entries.
*/
{
Node *sub_root;
if (root != NULL) {
queue<Node*> waiting_nodes;
// Queue<Binary_node<Entry> *>
waiting_nodes;
waiting_nodes.push(root);
do {
sub_root =
waiting_nodes.front();
(*visit)(sub_root->data);
if (sub_root->left)
waiting_nodes.push(sub_root->left);
if (sub_root->right)
waiting_nodes.push(sub_root->right);
waiting_nodes.pop();
} while (!waiting_nodes.empty());
}
}
相关文章推荐
- 69 - 二叉树的层次遍历
- 1020-层次遍历二叉树
- 二叉树的遍历(前序、中序、后序、层次)
- 第十周项目一 1.二叉树的层次遍历
- 二叉树的遍历(前中后,层次)——legend
- 二叉树的层次遍历
- 二叉树的层次遍历---队列的使用
- 层次遍历二叉树-三种不同的方法
- 二叉树的4种遍历方式(前序、中序、后序、层次)Java版
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 二叉树的层次遍历
- 第十一周--二叉树的层次遍历算法
- 二叉树的层次遍历算法
- lintcode&九章算法——No.70 二叉树的层次遍历(二) ? 待解决
- 二叉树的遍历(递归,非递归,层次)
- 二叉树的层次遍历
- 6_7 树的层次遍历(UVa122)<二叉树的动态创建与BFS>
- leetCode解题报告之Binary Tree Level Order Traversal II,I(二叉树层次遍历)