二叉树建立及中序遍历C++语言实现: #include<stdio.h> #include<stdlib.h> typedef struct node{//二叉树结点数据结构定义; char data; struct node *lchild,*rchild; }BTNode,*BTree; void createBTree(BTree &T){ char c; scanf("%c",&c); if(c=='#'){ T=NULL; } else{ BTree t; t=(BTree)malloc(sizeof(BTNode)); t->data=c; t->lchild=NULL; t->rchild=NULL; T=t; createBTree(T->lchild); createBTree(T->rchild); } } void inOrderTra(BTree T){ if(T!=NULL){ inOrderTra(T->lchild); printf("%c ",T->data); inOrderTra(T->rchild); } } int main(){ BTree T; printf("请输入二叉树的先序遍历序列:/n"); createBTree(T); printf("中序遍历二叉树序列:/n"); inOrderTra(T); printf("/n"); } 运行结果: