C++语言实现 二叉树建立及中序遍实例源码教程



C++语言实现 二叉树建立及中序遍实例源码教程。二叉树建立及中序遍历C++语言实现:

 

  1. #include<stdio.h>   
  2. #include<stdlib.h>   
  3. typedef struct node{//二叉树结点数据结构定义;   
  4.     char data;  
  5.     struct node *lchild,*rchild;  
  6. }BTNode,*BTree;  
  7.   
  8. void createBTree(BTree &T){  
  9.     char c;  
  10.     scanf(“%c”,&c);  
  11.     if(c==’#'){  
  12.         T=NULL;  
  13.     }  
  14.     else{  
  15.         BTree t;  
  16.         t=(BTree)malloc(sizeof(BTNode));  
  17.         t->data=c;  
  18.         t->lchild=NULL;  
  19.         t->rchild=NULL;  
  20.         T=t;  
  21.         createBTree(T->lchild);  
  22.         createBTree(T->rchild);  
  23.     }  
  24. }  
  25.   
  26. void inOrderTra(BTree T){  
  27.     if(T!=NULL){  
  28.         inOrderTra(T->lchild);  
  29.         printf(“%c ”,T->data);  
  30.         inOrderTra(T->rchild);  
  31.     }  
  32. }  
  33.   
  34. int main(){  
  35.     BTree T;  
  36.     printf(“请输入二叉树的先序遍历序列:/n”);  
  37.     createBTree(T);  
  38.     printf(“中序遍历二叉树序列:/n”);  
  39.     inOrderTra(T);  
  40.     printf(“/n”);  
  41. }  

 

 

运行结果: