Llevó todo el dia peleandome con una clase, para implementar arboles binarios, el codigo es el siguiente:
//Archivo Tree.cpp
Código
struct Node { int info; Node *fesq; Node *fdre; }; class Tree { private: Node *root; public: Tree(int); void insertar(int); void plantar(int, Node &, Node&); };
//Codigo Tree.cpp
Código
Tree::Tree(int value) { root->info = value; root->fesq = NULL; root->fdre = NULL; } void Tree::plantar(int value, Node & f1, Node & f2) { root->info = value; root->fesq = f1; root->fdre = f2; } void Tree::insertar(int value) { if (root ==NULL) { root->info = value; root->fesq = NULL; root->fdre = NULL; } else if(x < root->info) root->fesq.insertar(x); else if(x > root->info) root->fdre.insertar(x); }
Primer problema, visual studio me dice que root no se puede comparar con NULL, entonces como puedo saber si un hijo esta vacio???
Segundo problema, nose com implementar la función de insertar. Se que esta mal porque estoy llamando desde un nodo, un metodo que no existe y que tiene arbol.
Nose, tengo ya los nervios a flor de piel y lo siguiente que haré sera amenazar mi portatil con una tostadora xD