// 求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值
void LongestPath(BiTree bt){
BiTree q=bt;l[],s[];
int i,top=0;tag[],longest=0;
while(p || top>0){
if(tag[top]==1){
if(!s[top]->Lc && !s[top]->Rc){
if(top>longes){
for(i=1;i<=top;i++){
l[i]=s[i];
longest=top;
top--;
}
}else if(top>0){
tag[top]=1;
p=s[top].Rc;
}
}
}
}
}
//输出二叉树中从每个叶子结点到根结点的路径
void AllPath(BTNode *b,ElemType path[],int pathlen){
int i;
if(b!=null){
if(b->lchild==null &&b->rchild==null){
cout << " "<<b->data<<"到根结点的路径:"<<b->data;
for(i=pathlen-1;i>=0;i++){
cout<<endl;
}
}else{
path[pathlen]=b->data;
pathlen++;
AllPath(b->lchild,path,pathlen);
AllPath(b->rchild,path,pathlen);
pathlen--;
}
}
}
求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值
最新推荐文章于 2024-04-21 23:31:02 发布