xbubbax
08-03-2008, 13:20
Come mai mi da errore? Piu giu vi incollo anche la versione iterativa, che funziona benissimo.
pilaPtr Inverti_Ricorsiva(pilaPtr P, pilaPtr P_i, int n){
pilaPtr temp=NULL;
if(n==0){
return NULL;}else{
temp->data=Top(P);
P_i=Push(P_i,temp->data);
P=Pop(P);
return Inverti_Ricorsiva(P,P_i,n-1);}
}
pilaPtr Inverti(pilaPtr P, pilaPtr P_i, int n){
int i=0;
pilaPtr temp=NULL;
temp=(pilaPtr)malloc(sizeof(nodo));
for(i=0;i<n;i++){
temp->data=Top(P);
P=Pop(P);
P_i=Push(P_i,temp->data);}
return P_i;}
pilaPtr Inverti_Ricorsiva(pilaPtr P, pilaPtr P_i, int n){
pilaPtr temp=NULL;
if(n==0){
return NULL;}else{
temp->data=Top(P);
P_i=Push(P_i,temp->data);
P=Pop(P);
return Inverti_Ricorsiva(P,P_i,n-1);}
}
pilaPtr Inverti(pilaPtr P, pilaPtr P_i, int n){
int i=0;
pilaPtr temp=NULL;
temp=(pilaPtr)malloc(sizeof(nodo));
for(i=0;i<n;i++){
temp->data=Top(P);
P=Pop(P);
P_i=Push(P_i,temp->data);}
return P_i;}