Salve ragazzi, stò cercando di capire come inserire elementi in una lista(non ordinata, devo semplicemente inserire elementi uno dopo l'altro)
ho fatto una cosa del genere, ma mi stampa solo il primo valore inserito.
premetto che nel main ho una cosa di questo tipo:
codice:lista *head=NULL; int elemento; char continua; do{ cout<<"Inserisci l'elemento da inserire:"<<endl; cin>>elemento; addElem(head, elemento); cout<<"Vuoi continuare ad inserire elementi?"<<endl; cin>>continua; } while(continua == 's' || continua=='S'); cout<<endl<<"Stampo gli elementi:"<<endl; stampa_lista(head);Questa è la mia funzione per stampare la lista:codice:void addElem(lista *&head, int elemento){ lista *new_node=new lista; lista *temp=new lista; new_node->value=elemento; new_node->link=NULL; if(head==NULL){ head=new_node; temp=head; }else{ temp->link=new_node; temp=new_node; } }
Cos'è che sbaglio? come potrei modificare la mia function addElem?codice:void stampa_lista(lista *head){ cout<<"Elementi della lista:"<<endl; while (head != NULL){ cout<<head->value<<" "; head=head->link; } }
Grazie anticipatamente,
gaten

Rispondi quotando