TP6 n ary tree: Fix some memleaks
[Algorithmic_C.git] / TP6 / arbres / arbre_n_aire_c1 / arbre_n_aire_correction.c
CommitLineData
2eef00de
JB
1/*****************************************************************************/
2/* arbre_n_aire.c */
3/* Representation de mots sous forme d'arbre n-aire */
4/*****************************************************************************/
5
6#include <stdio.h>
7#include <stdlib.h>
8#include <string.h>
9#include <ctype.h>
10
11#define N 30
12
13
14typedef struct noeud {
15 char lettre;
16 struct noeud *fils;
17 struct noeud *frere;
18} NOEUD;
19
20
21/* Recherche d'un mot dans l'arbre *****************************************/
22NOEUD *cherche(NOEUD * p, char *mot, int i)
23{
24 if (p == NULL)
25 return NULL;
26 if (p->lettre == mot[i]) {
27 if (mot[i])
28 return cherche(p->fils, mot, i + 1);
29 else
30 return p;
31 } else if (p->lettre > mot[i])
32 return NULL;
33 else
34 return cherche(p->frere, mot, i);
35}
36
37/***************************************************************************/
38NOEUD *recherche(NOEUD * p, char *mot)
39{
40 return cherche(p, mot, 0);
41}
42
43
44