当前位置:   article > 正文

【C++】二叉树的创建和遍历_c++二叉树的建立与遍历

c++二叉树的建立与遍历

1.前言

二叉树是一个双亲结点只有两个孩子结点,其遍历方法主要有:

前序遍历:根左右

中序遍历:左根右

后序遍历:左右根

2.代码

2.1.二叉树的建立

  1. struct BiT_node
  2. {
  3. int data;
  4. struct BiT_node *lchild; //定义左右孩子指针
  5. struct BiT_node *rchild;
  6. };
  7. void CreatBinaryTree(BiT_node *T1) //创建二叉树
  8. {
  9. int ch;
  10. cout << "请输入二叉树前序遍历字符数据,空用0替代:" << endl;
  11. cin >> ch;
  12. if(ch == 0)
  13. {
  14. T1 = nullptr;
  15. }
  16. else
  17. {
  18. T1->lchild = new BiT_node;
  19. T1->rchild = new BiT_node;
  20. T1->data = ch;
  21. CreatBinaryTree(T1->lchild);
  22. CreatBinaryTree(T1->rchild);
  23. }
  24. }

主要是要进行递归,实现对左右孩子结点的创建。注意每次递归前,需要对左右孩子结点的指针开辟新空间,若不开辟则会出现段错误等问题。因为本程序运行后就结束,可以不用delete

2.2.遍历算法

  1. void PreOrderTraverse(BiT_node *T1); //前序遍历
  2. void InOrderTraverse(BiT_node *T
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/557767
推荐阅读
相关标签
  

闽ICP备14008679号