f (T) //若二叉树不为空Р?{ Р PostOrderTraverse(T->lchild); //后序遍历T的左子树Р PostOrderTraverse(T->rchild); //后序遍历T的右子树Р printf("%c",T->data); //访问根结点Р?}Р} //PostOrderTraverseРvoid LevelOrderTraverse(BiTree T)Р{//层次遍历以T为根结点指针的二叉树Р?SqQueue q;Р?BiTree p;Р?InitQueue(q);Р?if(T) EnQueue(q,T); //队头元素进队列Р?while(!(q.front==q.rear)){Р DeQueue(q,p); Р printf("%c",p->data); //输出队头元素Р if(p->lchild) EnQueue(q,p->lchild); //左子树进队列Р if(p->rchild) EnQueue(q,p->rchild); //右子树进队列Р?}Р}Рint main()Р{Р?BiTree T;Р?printf("请按先序遍历输入二叉树\n注意:若该子树为空则输入空格\n");Р?CreateBiTree(T);Р?printf("先序遍历的结果为:\n");Р?PreOrderTraverse(T);Р?printf("\n");Р?printf("中序遍历的结果为:\n");Р?InOrderTraverse(T);Р?printf("\n");Р?printf("后序遍历的结果为:\n");Р?PostOrderTraverse(T);Р?printf("\n");Р?printf("层次遍历的结果为:\n");Р?LevelOrderTraverse(T);Р?printf("\n");Р?return 0;Р}