/*
二叉树的前序遍历思想很简单,先建立一个栈方便我们在遍历二叉树的时候存储数据,然后开始前序遍历,找到根节点,输出,
然后入栈,再找根节点的左孩子结点,继续输出,入栈,直到左孩子结点为空,左孩子结点都已经找完,然后出栈,接着找右孩子节点,
进入刚才说的那个循环。
*/
void pre(BTreeNode *root)
{
if(root==NULL)
return ;
LinkStack *stack=CreateStack();
BTreeNode *p=root;
while(p!=NULL||!StackEmpty(stack))
{
while(p)
{
printf("L",p->data);
Push(stack,p);
p=p->lchild;
}
if(StackEmpty(stack))
{
Pop(stack.&p);
p=p->rchild;
}
}
}