求助求助!!!三叉链表二叉树的!!!

我已经搞定了先序的排序,但中序和后序搞不定呀!各位高手帮个忙吧!

#include<iostream>
using namespace std;
typedef struct tnode
{
char data;
struct tnode *parent , *lchild , *rchild;
}BitTNode;
BitTNode *Crt()
{
char ch;
BitTNode *bt;
cin>>ch;
if(ch==' ')
return;
bt = new BitTNode ;
bt -> data = ch;
bt->parent=NULL;
bt->lchild=Crt();
bt->rchild=Crt();
if(bt->lchild)
bt->lchild->parent=bt;
if(bt->rchild)
bt->rchild->parent=bt;
return bt;
}
void Pre(BitTNode *bt)
{
BitTNode *p,*ps;
if(bt==NULL)
return;
p=bt;
while(p);
{
cout<<(p->data);
if(p->lchild)
p=p->lchild;
else
if(p->rchild)
p=p->rchild;
else
{
while(1)
{ ps=p;
p=p->parent;
if(p==NULL)
break;
if(p->lchild==ps && p->rchild)
break;
}
}
if(p)
p=p->rchild;
}
}

作者: eaer111   发布时间: 2011-06-13

非递归方法么?

作者: wcyoot   发布时间: 2011-06-13