36.已知一二叉树中结点的左右孩子为left和right,p指向二叉树的某一结点 请用 C写非递归函数postfirst(p)

36.已知一二叉树中结点的左右孩子为left和right,p指向二叉树的某一结点。请用 C或PASCAL编一个非递归函数postfirst(p),求p所对应子树的第一个后序遍历结点。【浙 江大学1998 六(10分)】
匿名用户    2015-04-28 21:47    

推荐回答

这个需要两个栈,我用数组代替一下 void Visit3(struct node *root) { struct node* a; int b; int i=-1; int j=-1; while(root) { while(root) { b=root->data; if(root->lchild!=NULL) { a=root->lchild; } root=root->rchild; } if(i==-1) break; root=a; } while(j>=0) printf("%d ",b); } 思想就是遍历根,右,布航愿左,惑倘然后再用栈反过来立泳

匿名用户   2015-04-29 01:27
宝宝知道提示您:回答为网友贡献,仅供参考。