二叉树树的遍历算法之(层次遍历算法) – (广度优先算法)
原理
利用一个队列来实现,一层从左向右的节点访问
#include <iostream>
#include <queue>
struct BtreeNode{
int data;
BtreeNode* left;
BtreeNode* right;
};
class Solution{
public:
void levelorder(BtreeNode* root){
std::queue< BtreeNode* > btque;
btque.push(root);
while(!btque.empty()){
//BtreeNode* temp = btque.front();
std::cout << btque.front()->data << " ";
if(btque.front()->left)
btque.push(btque.front()->left);
if(btque.front()->right)
btque.push(btque.front()->right);
btque.pop();
}
}
};