Mam funkcję która przechodzi przez drzewo binarne i chciałbym po kolei zapisywać do tablicy indeksy węzłów po których przechodzi. Jak mogę to zrobić w ten sposób? Da się czy powinienem szukać innego rozwiązania?
struct Node {
Node(T value) : data(value) {}
Node* parent = nullptr;
Node* left = nullptr;
Node* right = nullptr;
T data;
int index;
};
void inorder(Node* node, int* order) {
if (node != nullptr) {
inorder(node->left, order);
order[] = node->index; // ???
inorder(node->right, order);
}
}
int main()
{
[...]
const int size = 10;
int order[size];
drzewo->inorder(&drzewo->get_root(), order);
cout << "inorder: ";
for(int i = 0; i < size; i++)
cout << order[i];
[...]
return 0;
}