Implementacja tablicy dynamicznej jako danych wejściowych do drzewa binarnego

0

Dzień dobry,
Mam problem, ponieważ nie wiem w jaki sposób zmodyfikować poniższy kod, aby program pobierał od użytkownika liczby, które następnie wyświetlałyby się jako
nowe gałęzie drzewa.
Wszystkie kody o drzewach binarnych jakie widziałem opracowują przypadek, w którym definiujemy wartości węzłów wewnątrz programu.
Chciałbym zaimplementować drzewo ( bez użycia bibliotek), do którego użytkownik dodaje gałęzie tak długo, aż nie wpiszę liczby''13''.
Bardzo proszę o pomoc.

#include <iostream>

using namespace std;

class TreeNode
{
public:
    int Key;
    TreeNode * Left;
    TreeNode * Right;
};

TreeNode * NewTreeNode(
int key)
{
   TreeNode * node = new TreeNode;
   node->Key = key;
   node->Left = NULL;
   node->Right = NULL;

   return node;
}

void PrintTreeInOrder(TreeNode * node)
{
	if(node == NULL) return;

	PrintTreeInOrder(node->Left);
	cout << node->Key << " ";
	PrintTreeInOrder(node->Right);
}

void Print (TreeNode * x, int & id)
{
    if (!x) return;

    Print (x->Left,id);

    id++;
    cout << id << ' ' << x->Key << endl;

    Print (x->Right,id);
}

int main()
{
    cout << "Binary Tree" << endl;
    TreeNode * root = NewTreeNode(1);
    root->Left = NewTreeNode(2);
    root->Right = NewTreeNode(3);
    root->Left->Left = NewTreeNode(4);
    root->Left->Right = NewTreeNode(5);
    root->Right->Left = NewTreeNode(6);
    root->Right->Right = NewTreeNode(7);

    int id = 0;
    Print(root, id);

    return 0;
}
1

Przecież w tym kodzie jest pełno błędów, nie kompiluje sie i to bardzo. Popraw i wyjaśnij o co z tym chodzi:

aby program pobierał od użytkownika liczby, które następnie wyświetlałyby się jako nowe gałęzie drzewa.
Wszystkie kody o drzewach binarnych jakie widziałem opracowują przypadek, w którym definiujemy wartości węzłów wewnątrz programu

1 użytkowników online, w tym zalogowanych: 0, gości: 1