Как дела?
Я сталкиваюсь с этой проблемой, где у меня есть дерево 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 </p>