Поиск в небинарном дереве по ключу

Поиск в небинарном дереве. Каждый узел в дереве имеет N-ное число потомков. Как осуществить поиск требуемого элемента? Структура узла:

struct Node 
{
    int key = 0; //ключ
    int id = 0; //индекс
    int level = 0; //уровень в иерархии
    Node* parent = nullptr; //указатель на родителя
    Node** son = nullptr; //массив указателей на сыновей
    int count_son = 0; //количество сыновей
};

Моя нерабочая функция рекурсивного поиска

Node* Find(Node* root, int key) // Ищет узел с указанным ключом
{
    if (root == NULL)
        return NULL;

    if (root)
    {
        Node* cur = root;
        for (int i = 0; i < cur->count_son; i++)
        {
            if (cur->key == key)
                return cur;
            cur = cur->son[i];
            Find(cur, key);
        }
    }
}

Ответы (0 шт):