当前位置:   article > 正文

二叉树的实现_扩展的前序序列.在一棵树处理结束后,根据响应判断是否处

扩展的前序序列.在一棵树处理结束后,根据响应判断是否处

二叉树的实现

要求:

1.采用二叉链表的方式进行存储

2.构造一个二叉树类

实现以下算法:

1.创建二叉树

2.对二叉树进行前序、中序、后序遍历

输入

扩展的前序序列.在一棵树处理结束后,根据响应判断是否处理下一棵树

输出

前序、中序、后序

 

样例输入

ab##c##
Y
abc####
N

样例输出

abc
bac
bca
abc
cba
cba

源代码:

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<string>
  4. using namespace std;
  5. struct BiNode
  6. {
  7. char data;
  8. BiNode* rchild, * lchilld;
  9. };
  10. class BiTree
  11. {
  12. public:
  13. BiTree() { root = Creat(); }
  14. void Preorder() { preorder(root); }
  15. void Inorder() { inorder(root); }
  16. void Postorder() { postorder(root); }
  17. BiNode* getroot();
  18. private:
  19. BiNode* root;
  20. BiNode* Creat();
  21. void preorder(BiNode* bt);
  22. void inorder(BiNode* bt);
  23. void postorder(BiNode* bt);
  24. };
  25. BiNode* BiTree::getroot() { return root; }
  26. void BiTree::preorder(BiNode* bt)
  27. {
  28. if (bt == nullptr) return;
  29. else {
  30. cout << bt->data;
  31. preorder(bt->lchilld);
  32. preorder(bt->rchild);
  33. }
  34. }
  35. void BiTree::inorder(BiNode* bt)
  36. {
  37. if (bt == nullptr) return;
  38. else {
  39. inorder(bt->lchilld);
  40. cout << bt->data;
  41. inorder(bt->rchild);
  42. }
  43. }
  44. void BiTree::postorder(BiNode* bt) {
  45. if (bt == nullptr) return;
  46. else {
  47. postorder(bt->lchilld);
  48. postorder(bt->rchild);
  49. cout << bt->data;
  50. }
  51. }
  52. BiNode* BiTree::Creat()
  53. {
  54. BiNode* bt = nullptr;
  55. char ch; cin >> ch;
  56. if (ch == '#') bt = nullptr;
  57. else {
  58. bt = new BiNode;
  59. bt->data = ch;
  60. bt->lchilld = Creat();
  61. bt->rchild = Creat();
  62. }
  63. return bt;
  64. }
  65. int main()
  66. {
  67. char a = 'Y';
  68. while (a == 'Y') {
  69. BiTree T;
  70. T.Preorder();
  71. cout << endl;
  72. T.Inorder();
  73. cout << endl;
  74. T.Postorder();
  75. cout << endl;
  76. cin >> a;
  77. }
  78. }

 

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