X-Git-Url: https://git.piment-noir.org/?p=Algorithmic_C.git;a=blobdiff_plain;f=TP6%2Farbres%2Farbre_n_aire_c2%2Farbre_n_aire_correction.c;h=08f4e17f6b3085cc46daab3bc4a5bf25f4b0854e;hp=71cb523144f8091d5ea4cbcbfdccbd047287d2c9;hb=5016b118716d7ce33ad81bfc246c7df97f2fbdf5;hpb=2eef00de6a50a2b430b10814882cff47cb361ca7 diff --git a/TP6/arbres/arbre_n_aire_c2/arbre_n_aire_correction.c b/TP6/arbres/arbre_n_aire_c2/arbre_n_aire_correction.c index 71cb523..08f4e17 100644 --- a/TP6/arbres/arbre_n_aire_c2/arbre_n_aire_correction.c +++ b/TP6/arbres/arbre_n_aire_c2/arbre_n_aire_correction.c @@ -40,7 +40,6 @@ NOEUD *recherche(NOEUD * p, char *mot) return cherche(p, mot, 0); } - /* Création d'une fin de mot - liste chaînée suivant le lien fils **********/ NOEUD *insere_fin(char *mot, int i) { @@ -153,6 +152,20 @@ NOEUD *supprime(NOEUD * p, char *mot, int i) return p; } + +NOEUD *detruis_arbre(NOEUD * p) +{ + if (p == NULL) + return p; + else { + p->fils = detruis_arbre(p->fils); + p->frere = detruis_arbre(p->frere); + free(p); + p = NULL; + return p; + } +} + /*****************************************************************************/ NOEUD *charge_dico(char *nom_fichier, int *nb_mots) { @@ -236,7 +249,7 @@ int Lectmot(FILE * fp, char *mot) Un exemple d'utilisation : ./arbre_n_aire dictionnaire.txt mondico.txt letexte.txt motsinconnus.txt -Les rguments de la ligne de commande sont : +Les arguments de la ligne de commande sont : argv[1] est le nom du dictionnaire d'entree argv[2] est le nom du dictionnaire apres insertion des nouveaux mots argv[3] est le texte a verifier @@ -290,7 +303,7 @@ int main(int argc, char *argv[]) sauve_dico(rac, argv[2], nb_mots); -/* pour tester la suppression */ + /* pour tester la suppression */ do { printf("Entrez un mot a supprimer (stop pour arreter) : "); scanf("%s", mot); @@ -299,6 +312,8 @@ int main(int argc, char *argv[]) affiche_fich(stdout, rac, mot, 0); } } while (strcmp(mot, "stop")); + + detruis_arbre(rac); } /****************************************************************************/