#include<iostream>
#include<queue>
using namespace std;
struct Node
{
int val;
Node* left;
Node* right;
Node(int value) :val(value), left(NULL), right(NULL) {};
};
void input(Node* root)
{
if (root == NULL)
return;
cout << "该节点的值是" << endl;
cout << root->val<<endl;
input(root->left);
input(root->right);
}
Node* create()
{
cout << "节点的值是?";
int val;
cin >> val;
if (val == -1)
{
return NULL;
}
Node* p=new Node(val);
p->left = create();
p->right = create();
return p;
}
queue<Node*>q;
void BFS(Node* root)
{
if (root != NULL)
{
q.push(root);
q.pop();
cout << root->val << endl;
BFS(root->left);
BFS(root->right);
}
}
int main()
{
cout << "创造一个树" << endl;
BFS(create());
}