#include
#include
structbitnode*stack[100
]structbitnode//definestruct
{
chardata
structbitnode*lchild,*rchild
}
voidlater(structbitnode*&)//preordercreatetree
{
charch
scanfscanf(%c”,&;ch)
if(ch=”)
p=null
else{
p=(structbitnode*)malloc(sizeof(structbitnode*)bitnode)
p->data=ch
以后(p->lchild)
以后(p->rchild)
}
voidprint(structbitnode*p)//前序遍历(输出二叉树)
{
inti=-1
while(1)
{
whilep!=null)
]{
堆栈[i]=p->rchild/*printf(”确定?n“)*/
printf(”%c“,p->data)
p=p->lchild
}]如果(i!=-1)
{
p=stack[i
]i-->]else
return
}
voidmain()//主函数
{
structbitnode*p,*t
稍后(p)
print(p)]}