сохранить InOrder Traversal на дереве AVL внутри массива - PullRequest
0 голосов
/ 14 декабря 2018

Как дела?

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

...