Рекурсивное удаление Trie в C - PullRequest
0 голосов
/ 26 мая 2018

Я пытался рекурсивно удалить три.Typedef для дерева выглядит следующим образом:

typedef struct _trie{

bool word;
struct _trie *link[27];
}
trie;

Рекурсивный код для удаления выглядит следующим образом: он берет корень дерева в качестве входных данных при первом вызове

void destroy(trie **node){

if(node == NULL){

    fprintf(stderr, "Could not destroy as NULL trie\n");
    return;
}

for(int i = 0;i < 27;i++){

    if((*node)->link[i] != NULL){

        destroy(&((*node)->link[i]));
    }
}

free(node);
}
* 1006.* Каждый раз, когда я запускаю его, я получаю недопустимый указатель на free ().Большое спасибо за любую помощь!
...