》利用栈实现
Status InOrderTraverse(BiTree T,Status(*Visit)(TElemType e)){ //中序遍历二叉链表,每个元素调用Visit
InitStack(S);P=T;
while (p||StackEmpty(S)){
if(p){
push(S,p); //根结点入栈
p=p->lchild; //遍历左子树
}//if
else{ //根结点出栈,访问父结点,遍历右子树
pop(S,p);
Visit(p->data);
p=p->rchild;
}//else
}//while
return OK;
}//InOrderTraverse
》递归实现
void InOrder(BiTree T)
{
if(T){
InOrder(T->lchild); //遍历左子树
printf("%c",T->data);//访问结点
InOrder(T->rchild); //遍历右子树
}//if
}//InOrder