树和二叉树的实验报告
}
}
void findleafnode(btnode *b) {//找出所有叶子结点 }
btnode *st[Max]; int front,rear=-1;
void allpath(btnode *b){ //从叶子结点到根结点的路径
if(b!=NULL){
rear++; if(b!=NULL){ }
if(b->lc==NULL&&b->rc==NULL)
cout<<b->data<<' ';
else{ }
findleafnode(b->lc); findleafnode(b->rc);
st[rear]=b;//当前结点入栈
if(b->lc==NULL&&b->rc==NULL){ //当b为叶子结点时
front=rear;
while(front>=0){//输出从根节点到叶子结点的路径
cout<<st[front]->data<<' ';
front--;
}
cout<<endl;
rear--; //栈尾指针退一步
//重设栈头指针