Grazie
Mi potresti aiutare a capire cosa fa questo codice??
Se mi puoi aiutare commentando alle righe..
....
nodo_t *nodo_ptr = NULL;
nodo_t *nodo_tmp_ptr = NULL;
nodo_t *new_nodo_ptr = NULL;
...
.....
while(nodo_ptr != NULL){
nodo_tmp_ptr = nodo_ptr;
if(strncmp(pp->targa, nodo_ptr->targa, LTARGA) < 0)
nodo_ptr = nodo_ptr->left;
else
nodo_ptr = nodo_ptr->right;
}
/* Creo il nuovo nodo da aggiungere all'albero */
new_nodo_ptr = malloc(sizeof(nodo_t));
strncpy(new_nodo_ptr->targa,pp->targa,LTARGA+1);
new_nodo_ptr->left = NULL;
new_nodo_ptr->right = NULL;
new_nodo_ptr->lint = malloc(sizeof(elem_t*));
new_nodo_ptr->lint[0] = NULL;
addIntervallo(new_nodo_ptr->lint,&(pp->in));
/* Se l'albero era "vuoto" */
if(nodo_tmp_ptr == NULL)
*r = new_nodo_ptr;
else{
/* Controllo se il nuovo nodo va aggiunto al ramo destro o sinistro */
if(strncmp(pp->targa, nodo_tmp_ptr->targa, LTARGA) < 0)
nodo_tmp_ptr->left = new_nodo_ptr;
else
nodo_tmp_ptr->right = new_nodo_ptr;