Buenas tardes casi noches,
este es mi primer post en este foro asi que si cometo algun error pido perdon
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:
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
este es mi primer post en este foro asi que si cometo algun error pido perdon
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