C++语言实现 二叉树建立及中序遍实例源码教程。二叉树建立及中序遍历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”);
- }
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”);
}
运行结果: