Qual è l'algoritmo che permette il caricamento di una lista unidirezionale, cioè costituita da nodi aventi un elemento e un solo puntatore?
Io so questo algoritmo ma è errata la chiamata alla procedura che ne permette il caricamento.
Innanzitutto nella dichiarazione ho:
Poi ho:codice:struct lista{ int n; lista* pt; }; lista* first=NULL; int x; char risposta; void inserisci_in_lista(lista*,int);
Il problema è la chiamata: se faccio il passaggio per valore poi non mi modifico first, se faccio il passaggio per referenza di first da errore....come si fa?codice:int main() { do{ cout<<"Inserisci un valore da inserire nella lista : "; cin>>x; inserisci_in_lista(first,x); cout<<"\nVuoi continuare l'inserimento di valori nella lista? (s/n) : "; cin>>risposta; }while(risposta=='s'); getch(); return 0; } void inserisci_in_lista(lista* lx, int val){ if(lx==NULL){ lx=new(lista); lx->n=val; lx->pt=NULL; } else inserisci_in_lista(lx->pt,val); }

Rispondi quotando