当前位置:   article > 正文

C语言创建二叉树_二叉树创建c语言实现

二叉树创建c语言实现
  1. //C语言实现创建二叉树
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. typedef int DataType;
  5. typedef struct Node{
  6. DataType Data;
  7. struct Node *lchild, *rchild;
  8. }BinTNode, *BiTree;
  9. void Create_BinTree(BiTree *T)
  10. {
  11. char ch;
  12. scanf("%c",&ch);
  13. if(ch=='#')
  14. {
  15. *T==NULL;
  16. // return;
  17. }
  18. else
  19. {
  20. *T=(BinTNode*)malloc(sizeof(BinTNode));
  21. (*T)->Data=ch;
  22. printf("\n建立左子树\n");
  23. (*T)->lchild=NULL;
  24. (*T)->rchild=NULL;
  25. Create_BinTree( &((*T)->lchild ) );//建立左子树
  26. printf("\n建立右子树\n");
  27. Create_BinTree( &((*T)->rchild ) );//建立右子树
  28. }
  29. return ;
  30. }
  31. void DestroyBitTree(BiTree *T)//销毁二叉树
  32. {
  33. if(*T)
  34. {
  35. if((*T)->lchild)
  36. DestroyBitTree( &((*T)->lchild ) );
  37. if((*T)->rchild)
  38. DestroyBitTree( &((*T)->rchild) );
  39. free(*T);
  40. *T=NULL;
  41. }
  42. printf("\n销毁成功!\n");
  43. return;
  44. }
  45. //遍历二叉树
  46. void PreOrder_Traverase(BiTree T)//先序遍历
  47. {
  48. if(T==NULL)
  49. return;
  50. else
  51. {
  52. printf(" %c " , T->Data);
  53. PreOrder_Traverase(T->lchild);
  54. PreOrder_Traverase(T->rchild);
  55. }
  56. }
  57. void InOrder_Traverase(BiTree T)//中序遍历
  58. {
  59. if(T==NULL)
  60. return;
  61. else
  62. {
  63. PreOrder_Traverase(T->lchild);
  64. printf(" %c " , T->Data);
  65. PreOrder_Traverase(T->rchild);
  66. }
  67. }
  68. void PostOrder_Traverase(BiTree T)//后序遍历
  69. {
  70. if(T==NULL)
  71. return ;
  72. else
  73. {
  74. PreOrder_Traverase(T->lchild);
  75. PreOrder_Traverase(T->rchild);
  76. printf(" %c " , T->Data);
  77. }
  78. }
  79. int main()
  80. {
  81. BiTree Tree;
  82. Create_BinTree(&Tree);
  83. printf("\n先序遍历\n");
  84. PreOrder_Traverase(Tree);
  85. printf("\n中序遍历\n");
  86. InOrder_Traverase(Tree);
  87. printf("\n后序遍历\n");
  88. PostOrder_Traverase(Tree);
  89. DestroyBitTree(&Tree);
  90. return 0;
  91. }

 

测试:

 

 

 

 

 

 

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/233223
推荐阅读
相关标签
  

闽ICP备14008679号