manu@2986
28-06-2006, 13:21
void carica_stack(albero alb,stack *head)
{ stack el;
stack aux=*head;
if(alb!=NULL)
{printf("%d ",alb->dato);
if(alb->left!=NULL)
carica_stack(alb->left,&aux);
if(alb->right!=NULL)
carica_stack(alb->right,&aux);
el = (stack)malloc(sizeof(struct l_nodo));
if(alb->segno!=NULL)
strcpy(el->info,alb->segno);
else
itoa(alb->dato,el->info,10);
el->next=aux;
aux=el;
aux=aux->next;
printf("%s\n",el->info);
}
}
Mi da sempre errori di accesso alla memoria.... :cry:
In pratica dovrebbe visitare l'albero in postorder ed inserire all'interno di uno stack i valori dell'albero..... :help:
Cos'è che potrebbe dare l'errore?!L'albero l'ho creato con un'altra funzione ma dovrebbe essere corretto....da errore dopo 3 o 4 chiamate ricorsive...
{ stack el;
stack aux=*head;
if(alb!=NULL)
{printf("%d ",alb->dato);
if(alb->left!=NULL)
carica_stack(alb->left,&aux);
if(alb->right!=NULL)
carica_stack(alb->right,&aux);
el = (stack)malloc(sizeof(struct l_nodo));
if(alb->segno!=NULL)
strcpy(el->info,alb->segno);
else
itoa(alb->dato,el->info,10);
el->next=aux;
aux=el;
aux=aux->next;
printf("%s\n",el->info);
}
}
Mi da sempre errori di accesso alla memoria.... :cry:
In pratica dovrebbe visitare l'albero in postorder ed inserire all'interno di uno stack i valori dell'albero..... :help:
Cos'è che potrebbe dare l'errore?!L'albero l'ho creato con un'altra funzione ma dovrebbe essere corretto....da errore dopo 3 o 4 chiamate ricorsive...