输出 8 6 10 5 7 9 11。
分析:
与二叉树其他的三种遍历不同,层序遍历使用的不是栈,而是队列。
// copyright @ L.J.SHOU Mar.10, 2014
// level order traversal
void LevelOrder(TreeNode *root)
{
if(root == NULL) return;
queue<TreeNode*> q;
TreeNode *node(NULL);
q.push(root);
while(!q.empty())
{
node = q.front(); q.pop();
cout << node->val << " ";
if(node->left) q.push(node->left);
if(node->right) q.push(node->right);
}
cout << endl;
}
数据结构----二叉树的层序遍历,布布扣,bubuko.com
原文:http://blog.csdn.net/shoulinjun/article/details/20943773