void LeftShow(BTNode *head)
BTNode rchildlist[50] //建一个用于储存右子树的堆栈,因为输出父节点,然后输b
BTNodesshow=head://将show指针初始化为head的地址,show用于遍历时存储i
int i=0;//1为rchildlist堆栈顶.
while (1)
{
if(show=-nULL) //当遍历到的节点是NULL时,进行分情况判断
{
if(1-=0)//堆栈此时也为空,已遍历完整个树
break;
else//堆栈不为空则执行退栈操作
{
show=rchildlist[i] //将退栈的值赋给下一个需要遍历节点
i--
}
}
else //当遍历到的节占不为NULL
{printf("%c\t"shou->data)//输出节点存储的值
if(show->RChild!=NULL)//判断该节点有没有右子树
i++
rchildlist[i]=(BTNode)show->Rchild;//如果有则将右子树进堆栈
}
show=(BTNode)show->LChild;//将该节点左子树赋值为下一个需要遍历节点
}
}