Update NodeTrie.c

add comments
This commit is contained in:
Hermann
2023-06-13 23:32:04 +02:00
committed by GitHub
parent e4ad197ad5
commit dbdc9576d3

View File

@@ -7,27 +7,30 @@
#include <stdio.h>
#include <stdbool.h>
//Fonction qui permet de créer un NodeTrie vide
struct NodeTrie* createEmptyNodeTrie(){
struct NodeTrie* trie = malloc(sizeof(struct NodeTrie));
if(trie == NULL){
printf("error malloc");
return NULL;
}
//MAX_LETTERS vaut 29 pour contenir tout l'alphabet + '\'' + '-' + ' '
for(int i = 0; i < MAX_LETTERS; i++){
trie -> children[i] = NULL;
trie -> children[i] = NULL; //On remplie un node trie de c'est 29 enfant, qu'on initialise a NULL
}
trie -> isName = false;
trie -> isName = false; //Ca ne correspond pas à un prénom donc on met a false
return trie;
}
//Fonction qui permet de supprimer un NodeTrie
void deleteNodeTrie(struct NodeTrie** trie){
//On boucle pour parcourir tout les enfant non NULL
for(int i = 0; i<MAX_LETTERS; i++){
if((*trie)->children[i]!=NULL){
deleteNodeTrie(&(*trie)->children[i]);
deleteNodeTrie(&(*trie)->children[i]); //On opère de façon récursive
}
}
deleteList(&(*trie)->movie);
free(*trie);
*trie = NULL;
deleteList(&(*trie)->movie); //Supprime les list contenu dans une node
free(*trie); //On libère la mémoire du trie, donc on le "supprime"
*trie = NULL;
}