tree *creat2()//逐层建立二叉树
{
tree* qnode[100];
char ch;
int i=0;
ch=getchar();
while(ch!='#')
{
i=i+1;
qnode[i]=(tree*)malloc(sizeof(tree));
qnode[i]->x=ch;
ch=getchar();
}
for(int n=1;n<=i;++n)
{
if(n==1)
{
qnode[n]->L=0;
qnode[n]->R=0;
}
else if(n%2==0)
{
qnode[n/2]->L=qnode[n];
}
else if(n%2!=0)
{
qnode[n/2]->R=qnode[n];
}
}
return qnode[1];
}
oid preread(tree*& b)//前序遍历
{
if(b!=0)
{
cout<<(*b).x;
preread(b->L);
preread(b->R);
}
}
int main()
{
tree* t;
t=creat2();
preread(t);
}
遍历时右叉树数据出不来,是其他的汉字