#include <bits/stdc++.h>
#define ElemType char
using namespace std;
int i;
ElemType st[1123];
typedef struct BinaryTreeNode
{
ElemType data;
struct BinaryTreeNode *Left;
struct BinaryTreeNode *Right;
}Node;
Node *CreatBinaryTree(); /// 创建二叉树
void SeqTraversal(Node *root); /// 层序遍历
int main()
{
int t;
Node *root;
cin >> t;
while(t--)
{
i = -1;
cin >> st;
root = CreatBinaryTree();
SeqTraversal(root);
//PreTraversal(root);
cout << endl;
}
return 0;
}
Node *CreatBinaryTree() /// 创建二叉树
{
Node *p;
p = new Node;
i++;
if(st[i] == ',')
{
p = NULL;
}
else
{
p->data = st[i];
p->Left = CreatBinaryTree();
p->Right = CreatBinaryTree();
}
return p;
}
void SeqTraversal(Node *root) /// 层序遍历
{
queue<Node *>Q;
Node *p;
if(root)
{
Q.push(root);
}
while(!Q.empty())
{
p = Q.front();
Q.pop();
cout << p->data;
if(p->Left)
{
Q.push(p->Left);
}
if(p->Right)
{
Q.push(p->Right);
}
}
}
层序遍历二叉树
最新推荐文章于 2022-03-24 15:09:00 发布