Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - BoniElProgramador

#1
Buenas tardes casi noches,

este es mi primer post en este foro asi que si cometo algun error pido perdon  :D

bueno alli voy, resulta que tengo el reto de hacer un programa el cual lea datos de un archivo y los inserte en un Arbol Binario, insisto en lo de Arbol binario y no Arbol binario de busqueda.

Mi problema viene cuando al insertar los datos solo me rellena los 3 primeros nodos.

A continuacion mi codigo:

Código (cpp) [Seleccionar]
struct binaryTree
{
int nro;
struct binaryTree *left;
struct binaryTree *right;
};

bool ProcessDataFromFile(char filename)
{
ifstream F(filename);
int num;

while (!F.eof())
{
F >> num;
cout << "numero :" << num << endl;
createNode(num);
insertNode(btTree, num);
}
return 1;
}

BT createNode(int x)
{
BT newNode = new (struct binaryTree);
newNode->nro = x;
newNode->left = NULL;
newNode->right = NULL;
newNode->parent = NULL;

return newNode;
}

//Insertar nodo
void insertNode(BT &tree, int x)
{


if (tree == NULL)
{
tree = createNode(x);
}
else
{
if (tree->left == NULL)
{
insertNode(tree->left, x);
tree->left->parent = tree;
}
else if (tree->right == NULL)
{
insertNode(tree->right, x);
tree->right->parent = tree;
}
{



Gracias de antemano, un saludo
P.D. hay partes del codigo que no he puesto porque no vienen al tema


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex