Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- using namespace std;
- struct nodo{
- int numero;
- struct nodo *next;
- };
- class lista{
- struct nodo *testa;
- public:
- lista(){
- testa=NULL;
- }
- int listaVuota(){
- int trova=0;
- if(testa==NULL)trova=1;
- return(trova);
- }
- void push(){
- struct nodo *P,*P1,*P2;
- P=new(nodo);
- cout<<"Inserisci informazione nel campo numero: "<<endl;
- cin>>P->numero;
- P->next=NULL;
- if(listaVuota()==1)testa=P;
- else{
- if(testa->numero>=P->numero){
- P1=testa;
- testa=P;
- testa->next=P1;
- }
- else{
- P1=testa;
- while((P1!=NULL)&&(P->numero>=P1->numero)){
- P2=P1;
- P1=P1->next;
- }
- P->next=P1;
- P2->next=P;
- }
- }
- return;
- }
- void stampa(){
- struct nodo *P;
- if(listaVuota()==1)cout<<"Lista vuota."<<endl;
- else{
- P=testa;
- while(P!=NULL){
- cout<<P->numero<<endl;
- P=P->next;
- }
- }
- return;
- }
- void svuotaLista(){
- struct nodo *P,*temp;
- if(listaVuota()==1)cout<<"Lista vuota."<<endl;
- else{
- do{
- cout<<"Numero eliminato."<<testa->numero<<endl;
- temp=testa;
- testa=testa->next;
- delete(temp);
- }
- while(testa!=NULL);
- }
- return;
- }
- void mediaLista(){
- struct nodo *P;
- int I,cont=0,somma=0;
- float media;
- if(listaVuota()==1)cout<<"Lista vuota."<<endl;
- else{
- for(I=0;I<cont;I++){
- cont=cont+1;
- somma=somma+P->numero;
- }
- media=(float)somma/cont;
- cout<<"La media e': "<<media<<endl;
- }
- return;
- }
- };
- int main(int argc, char *argv[]){
- int scelta;
- struct nodo nod;
- lista list;
- do{
- cout<<"\n1.Lista Vuota;"<<endl;
- cout<<"2.Inserimento;"<<endl;
- cout<<"3.Stampa"<<endl;
- cout<<"4.Svuota Lista;"<<endl;
- cout<<"5.Media Lista;"<<endl;
- cout<<"Fai una scelta: ";
- cin>>scelta;
- switch(scelta){
- case 1: list.listaVuota();
- break;
- case 2: list.push();
- break;
- case 3: list.stampa();
- break;
- case 4: list.svuotaLista();
- break;
- case 5: list.mediaLista();
- break;
- }
- }
- while(scelta!=0);
- system("PAUSE");
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement