gigippa
07-06-2008, 15:26
Devo implementare una funzione tree find_name(tree T, char *vname) che cerca nell’albero T un nodo con campo name uguale a vname; se lo trova, ritorna il puntatore a tale nodo, altrimenti ritorna NULL.
L' albero deve avere questa struttura
typedef struct _node *tree;
struct _node {
char *name;
double val;
tree left, right;
};
e la funzione l' ho pensata così.
tree find_name(tree T, char *name){
if(T == NULL)
return NULL;
if((T->name)==name)
return T;
else return (strcmp(name,(T)->name) < 0) ? find_name(T->left,name):find_name(T->right,name);
}
Può andare??
L' albero deve avere questa struttura
typedef struct _node *tree;
struct _node {
char *name;
double val;
tree left, right;
};
e la funzione l' ho pensata così.
tree find_name(tree T, char *name){
if(T == NULL)
return NULL;
if((T->name)==name)
return T;
else return (strcmp(name,(T)->name) < 0) ? find_name(T->left,name):find_name(T->right,name);
}
Può andare??