#include <bits/stdc++.h>
using namespace std;
class BinaryNode
{
public:
int val;
BinaryNode *lch;
BinaryNode *rch;
};
BinaryNode* CreateBinary()
{
int val;
cin>>val;
if(val == -1)
return nullptr;
BinaryNode *tmp = new BinaryNode;
tmp->val = val;
tmp->lch = CreateBinary();
tmp->rch = CreateBinary();
}
//二叉树的层序遍历
void layerTrace(BinaryNode *pHead)
{
if(pHead == NULL)
return ;
//使用一个队列
deque<BinaryNode*>de;
de.push_back(pHead);
BinaryNode* tmp;
while(!de.empty())
{
tmp = de.front();
de.pop_front();
cout<<tmp->val<<" ";
if(tmp->lch)
de.push_back(tmp->lch);
if(tmp->rch)
de.push_back(tmp->rch);
}
}
int main()
{
system("pause");
return 0;
}