Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. #pragma once
  2.  
  3. #include "Nodo.hpp"
  4. #include <iostream>
  5. template <class X>
  6. class CArbol
  7. {
  8. public:
  9. CArbol() {
  10. raiz = nullptr;
  11. }
  12. ~CArbol() {}
  13. void insertar(X e) {
  14. _insertar(raiz, e);
  15. }
  16. void enOrden() {
  17. _enOrden(raiz);
  18. }
  19. void preOrden() {
  20. _preOrden(raiz);
  21. }
  22. void postOrden() {
  23. _postOrden(raiz);
  24. }
  25.  
  26. CNodo<X>*& recuperar(X buscar) {
  27. CNodo<X>* val = _recuperar(raiz, buscar);
  28. return val;
  29. }
  30. private:
  31. CNodo<X>* raiz;
  32.  
  33. void _enOrden(CNodo<X>*& nodo) {
  34. if (nodo == nullptr) return;
  35. else {
  36. _enOrden(nodo->getHI());
  37. cout << nodo->getElemento() << " ";
  38. _enOrden(nodo->getHD());
  39. }
  40. }
  41.  
  42. void _preOrden(CNodo<X>*& nodo) {
  43. if (nodo == nullptr) return;
  44. else {
  45. cout << nodo->getElemento() << " ";
  46. _preOrden(nodo->getHI());
  47. _preOrden(nodo->getHD());
  48. }
  49. }
  50.  
  51. void _postOrden(CNodo<X>*& nodo) {
  52. if (nodo == nullptr) return;
  53. else {
  54. _postOrden(nodo->getHI());
  55. _postOrden(nodo->getHD());
  56. cout << nodo->getElemento() << " ";
  57. }
  58. }
  59.  
  60. void _buscar(CNodo<X>&nodo, X buscar) {
  61. if (nodo == nullptr) {
  62.  
  63. }
  64. }
  65.  
  66. void _insertar(CNodo<X>*& nodo, X e) {
  67. if (nodo == nullptr)
  68. nodo = new CNodo<X>(e);
  69. else if (e <= nodo->getElemento())
  70. _insertar(nodo->getHI(), e);
  71. else
  72. _insertar(nodo->getHD(), e);
  73. }
  74.  
  75. CNodo<X>* _recuperar(CNodo<X>* nodo, X buscar) {
  76.  
  77. if (nodo == nullptr) {
  78. return nullptr;
  79. }
  80. else if (buscar==nodo->getElemento()) {
  81. return nodo;
  82. }
  83. else if (buscar > nodo->getElemento()) {
  84. _recuperar(nodo->getHD(), buscar);
  85. }
  86. else if (buscar < nodo->getElemento()) {
  87. _recuperar(nodo->getHI(), buscar);
  88. }
  89. };
  90. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement