这个太水了吧。。我都不好意思写博客。。为了这个系列的完整啊。。
正好补齐了下午的 dfs二叉树
#include<iostream>
#include<cstdio>
#include<cstring>
#include<stack>
#include<queue>
using namespace std;
struct BinaryTreeNode
{
int data;
BinaryTreeNode * leftchild;
BinaryTreeNode * rightchild;
BinaryTreeNode(int t)
{
data=t;
leftchild=rightchild=NULL;
}
};
BinaryTreeNode * root;
void CreateTree()
{
root=new BinaryTreeNode(8);
root->leftchild=new BinaryTreeNode(6);
root->rightchild=new BinaryTreeNode(10);
BinaryTreeNode * tmp=root->leftchild;
tmp->leftchild=new BinaryTreeNode(5);
tmp->rightchild=new BinaryTreeNode(7);
tmp=root->rightchild;
tmp->leftchild=new BinaryTreeNode(9);
tmp->rightchild=new BinaryTreeNode(11);
}
void bfs(BinaryTreeNode * root)
{
if(!root) return ;
queue<BinaryTreeNode *> q;
q.push(root);
BinaryTreeNode * p;
while(!q.empty())
{
p=q.front();
q.pop();
printf("%d ",p->data);
if(p->leftchild!=NULL)
q.push(p->leftchild);
if(p->rightchild!=NULL)
q.push(p->rightchild);
}
}
int main()
{
CreateTree();
bfs(root);
return 0;
}