当前位置:   article > 正文

【数据结构作业四】以二叉链表作存储结构,建立一棵二叉树,并输出该二叉树的先序、中序、后序遍历序列、高度和其叶子结点数。_以二叉链表作存储结构,建立一棵二叉树。 输出该二叉树的先序、中序、后序遍历序列

以二叉链表作存储结构,建立一棵二叉树。 输出该二叉树的先序、中序、后序遍历序列
  1. #include <iostream>
  2. #define MAXSIZE 100
  3. using namespace std;
  4. typedef char TElemType;
  5. typedef struct BiTNode {
  6. TElemType data;
  7. struct BiTNode *lchild,*rchild;
  8. } BiTNode,*BiTree;
  9. void InOrderTraverse1(BiTree T) {
  10. //先序遍历
  11. if(T) {
  12. cout<<T->data;
  13. InOrderTraverse1(T->lchild);
  14. InOrderTraverse1(T->rchild);
  15. }
  16. }
  17. void InOrderTraverse2(BiTree T) {
  18. //中序遍历
  19. if(T) {
  20. InOrderTraverse2(T->lchild);
  21. cout<<T->data;
  22. InOrderTraverse2(T->rchild);
  23. }
  24. }
  25. void InOrderTraverse3(BiTree T) {
  26. //后序遍历
  27. if(T) {
  28. InOrderTraverse3(T->lchild);
  29. InOrderTraverse3(T->rchild);
  30. cout<<T->data;
  31. }
  32. }
  33. void CreateBiTree(BiTree &T) {
  34. //先序
  35. char ch;
  36. cin>>ch;
  37. if(ch=='#')
  38. T=NULL;
  39. else {
  40. T=new BiTNode;
  41. T->data=ch;
  42. CreateBiTree(T->lchild);
  43. CreateBiTree(T->rchild);
  44. }
  45. }
  46. int Depth(BiTree T) {
  47. int n,m;
  48. if(T==NULL)
  49. return 0;
  50. else {
  51. m=Depth(T->lchild);
  52. n=Depth(T->rchild);
  53. if(m>n)
  54. return(m+1);
  55. else
  56. return(n+1);
  57. }
  58. }
  59. int NodeCount(BiTree T) {
  60. if(T==NULL)
  61. return 0;
  62. else
  63. return NodeCount(T->lchild)+NodeCount(T->rchild)+1;
  64. }
  65. int main()
  66. {
  67. BiTree a;
  68. int height,num;
  69. cout<<"请输入二叉树的元素!\n";
  70. CreateBiTree(a);
  71. cout<<"按先序遍历法输出该二叉树的元素为:\n";
  72. InOrderTraverse1(a);
  73. cout<<"\n按中序遍历法输出该二叉树的元素为:\n";
  74. InOrderTraverse2(a);
  75. cout<<"\n按后序遍历法输出该二叉树的元素为:\n";
  76. InOrderTraverse3(a);
  77. height=Depth(a);
  78. num=NodeCount(a);
  79. cout<<"\n该二叉树高度为:";
  80. cout<<height<<endl;
  81. cout<<"该二叉树结点数为:";
  82. cout<<num;
  83. return 0;
  84. }

输入: 

输出: 

 

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

闽ICP备14008679号