T->data=ch;Р CreatBiTree(T->lchild);Р CreatBiTree(T->rchild);Р?}Р?return 1;Р}Рint visit(char e)//对数据进行输出Р{Р?printf("%c",e);Р?return 1;Р}Рint PreOrderTraverse(BiTree T,int (*visit)(char e))//先序遍历二叉树T的递归算法Р{Р?if(T)Р?{Р if(visit(T->data))Р if(PreOrderTraverse(T->lchild,visit))Р if(PreOrderTraverse(T->rchild,visit)) return 1;Р return 0;Р?}Р?else Р return 1;Р}Рint InOrderTraverse(BiTree T,int (*visit)(char e))//中序遍历二叉树T的递归算法Р{Р?if(T)Р?{Р if(InOrderTraverse(T->lchild,visit))Р if(visit(T->data))Р if(InOrderTraverse(T->rchild,visit)) return 1;Р return 0;Р?}Р?else Р return 1;Р}Рint PostOrderTraverse(BiTree T,int (*visit)(char e))//后序遍历二叉树T的递归算法Р{Р?if(T)Р?{Р if(PostOrderTraverse(T->lchild,visit))Р if(PostOrderTraverse(T->rchild,visit))Р if(visit(T->data)) return 1;Р return 0;Р?}Р?else Р return 1;Р}