设计一个算法,增加一个指向双亲结点的parent指针,并给指向指针赋值,并输出所有结点到根结点的路径。
typedef struct {
ELemType data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
void Pare(BiTNode *q,BiTNode *p){
if(T){
q->parent=p;
p=q;
Pare(q->lchild,p);
Pare(q->rchild,p);
}
}
void Out(BiTNode *p){
while(p!=NULL){
pritnf(p->data;
p=p->parent;
}
}
void AllOut(BiTree T){
if(T){
Out(T);
AllOut(T->lchild);
AllOut(T->rchild);
}
}