Я пытаюсь создать двоичное дерево c ++. Функция 'init_tree' читает cin и использует эти символы для построения дерева. Но кажется, что эта функция бесполезна. Может кто-нибудь сказать мне, где ошибка и как ее исправить?
#ifndef STUDY_TREE_H
#define STUDY_TREE_H
#include<iostream>
using namespace std;
struct Node {
char data;
Node *l_child, *r_child;
};
void init_tree(Node* node) {
char ch;
cin >> ch;
if (ch == '#') {
node = NULL;
} else {
node = new Node;
std::cout << ch << std::endl;
node->data = ch;
init_tree(node->l_child);
init_tree(node->r_child);
}
}
int main() {
std::cout << "Input tree, eg: ABC#D" << std::endl;
Node *root = NULL;
init_tree(root);
return 0;
}
#endif //STUDY_TREE_H