postVisit(T->lchild); postVisit(T->rchild); printf("%c",T->data); } }intmain() { printf("请输入二叉树,按照先序遍历,无字树用$号表示\n"); BiTree T; createBiTree(&T); printf("先序遍历结果如下:\n"); preorderVisit(T); printf("\n"); printf("中序遍历结果如下:\n"); midd...
后序遍历 voidPostOrderTraverse(BiTree T){if(!T){return;}PostOrderTraverse(T->lchild);PostOrderTraverse(T->rchild);printf("%c",T->data);} 实验结果 完整的代码 /*二叉树*/#include<stdio.h>#include<stdlib.h>#defineOVERFLOW 0typedefcharTElemType;//定义树的结点的结构,BiTree结点的指针变量type...
1)先序遍历中第一个是根那么在中序遍历中找到根那么左右子树就确定了,所以自然左右子树的范围就确定了,所以在递归方法中先序遍历的左子树的边界范围是l1 + 1, l1 + i - l2。 因为第一个是根所以下一次递归的时候应该是下一个位置,但是左子树应该在什么位置结束呢?我们可以通过中序遍历中左子树的范围进行确...