pixel3000
13-12-2005, 17:45
Non mi è molto chiaro il funzionamento delle liste in c++, vi incollo il programma che ho fatto per prova specificando i punti che mi restano poco chiari:
#include <iostream>
using namespace std;
struct nodo{
int chiave;
nodo *next;
};
typedef nodo *lista;
void crea_lista_vuota(lista &testa){ //lista &testa cosa fa fare in soldoni al programma?
testa=0;
}
void ins_testa(lista &testa, int x){
nodo *nuovo;
nuovo = new nodo;
nuovo -> chiave = x;
nuovo -> next = testa;
testa = nuovo;
}
void stampa_lista(lista testa){ //come sopra ma non c'è l'ind per riferimento
nodo *p;
for (p=testa;p!=0;p=p->next)
cout<<p->chiave<<endl;
}
int main(){
int c, key;
crea_lista_vuota(cosa gli devo passare qua e nelle chiamate delle altre procedure? );
do {
cout<<"1) Inserisci in testa"<<endl<<"2) Stampa lista"<<endl<<"0) Esci"<<endl;
cin>>c;
switch(c){
case 1: {cout<<"Inserisci il valore: ";
cin>>key;
ins_testa(, key);
}
case 2: stampa_lista();
}while (a!=0)
cin>>a; //mi serve per fare fermare il programma in dos
}
Grazie a chi si adopererà per risolvere i miei dubbi :)
#include <iostream>
using namespace std;
struct nodo{
int chiave;
nodo *next;
};
typedef nodo *lista;
void crea_lista_vuota(lista &testa){ //lista &testa cosa fa fare in soldoni al programma?
testa=0;
}
void ins_testa(lista &testa, int x){
nodo *nuovo;
nuovo = new nodo;
nuovo -> chiave = x;
nuovo -> next = testa;
testa = nuovo;
}
void stampa_lista(lista testa){ //come sopra ma non c'è l'ind per riferimento
nodo *p;
for (p=testa;p!=0;p=p->next)
cout<<p->chiave<<endl;
}
int main(){
int c, key;
crea_lista_vuota(cosa gli devo passare qua e nelle chiamate delle altre procedure? );
do {
cout<<"1) Inserisci in testa"<<endl<<"2) Stampa lista"<<endl<<"0) Esci"<<endl;
cin>>c;
switch(c){
case 1: {cout<<"Inserisci il valore: ";
cin>>key;
ins_testa(, key);
}
case 2: stampa_lista();
}while (a!=0)
cin>>a; //mi serve per fare fermare il programma in dos
}
Grazie a chi si adopererà per risolvere i miei dubbi :)