#include<iostream>#include<cstdio>#include<fstream>#include<algorithm>#include<cmath>#include<deque>#include<vector>#include<queue>#include<string>#include<cstring>#include<map>#include<stack>#include<set>usingnamespacestd;
structdate
{
char x;
structdate *left,*right;
};
int iox;
structdate *arr;queue<struct date*>q;
string arr1,arr2,arr3;
voidcreat(struct date*& T){
if(iox<arr1.size())
{
if(arr1[iox]==',')
{
T=NULL;
iox++;
return ;
}
else
{
T=(struct date *)malloc(sizeof(struct date));
T->left=NULL;
T->right=NULL;
T->x=arr1[iox++];
T->left=NULL;
T->right=NULL;
creat(T->left);
creat(T->right);
}
}
elsereturn;
}
voidmiddle(struct date *T){
if(T!=NULL)
{
q.push(T);
}
while(q.size())
{
structdate *cp=q.front();
q.pop();
if(cp->left) q.push(cp->left);
if(cp->right) q.push(cp->right);
cout<<cp->x;
}
}
intmain(){
int i,m,n;
cin>>n;
for(i=0;i<n;i++)
{
iox=0;
cin>>arr1;
creat(arr);
middle(arr);
cout<<endl;
}
return0;
}
sdut数据结构实验之二叉树五:层序遍历
最新推荐文章于 2024-07-21 22:06:29 发布