Сохранить InOrder Traversal на дереве AVL внутри массива
Как твои дела?
Я сталкиваюсь с этой проблемой, когда у меня есть дерево AVL, и мне нужно сохранить его ключи, отсортированные внутри массива. У меня есть подпись этой функции, которую мне нужно реализовать:
bool getKeys(int value, int **keys)
Теперь я понимаю, что мне нужно передать ключи дерева InOrder Traversal, но я не понимаю, как мне сохранить их в массиве, когда я выполняю функцию inOrderTraversal. (Я хочу, чтобы это было рекурсивно, потому что это проще)
код например:
void inOrderTraversal(Node* root /*, do I need to add more params here? and what are they*/ ) {
if (!root)
return;
inOrderTraversal(root->left);
//get the key from the node and put it inside the array.
inOrderTraversal(root->right);
}
bool getKeys(int value, int **keys) {
int* save_keys = new int[tree->getSize()];
// I need to save the keys from the tree inside the array save_keys
*keys = save_keys;
return true;
}
Вся помощь приветствуется,
Большое спасибо <3