Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- #include <fstream>
- using namespace std;
- struct numeri {
- int valore ;
- struct numeri* prossimo;
- };
- typedef struct numeri Lista;
- void Lettura( Lista *l, int &i)
- {
- ifstream input;
- char nomefile[50];
- do
- {
- cout<<" inserisci il nome del file ";
- cin>> nomefile;
- cout<<endl;
- input.open(nomefile);
- if(!input.is_open())
- {
- cout<<"errore il nome del file non e' corretto"<<endl;
- }
- else
- {
- cout<< " file aperto "<<endl;
- }
- }while(!input.is_open());
- i = 0;
- int temp;
- while(i<100 && !input.eof())
- {
- input>>l->valore;
- //cout<< l->valore << " -";
- l->prossimo = new Lista;
- l = l->prossimo;
- i++;
- }
- input.close();
- l->prossimo = NULL;
- }
- void stampa (Lista *l,int i)
- {
- Lista *p = l;
- while(p!= NULL)
- {
- cout <<" || " <<p->valore;
- p = p->prossimo;
- }
- }
- void bubblesort(Lista *l, int n) {
- int i,k;
- int v [n];
- i = 0;
- Lista *p = l;
- while(p!= NULL)
- {
- v[i] = p->valore;// metto in un vettore tutte i valori e poi con il bubble sort li ordino
- i++;
- p = p->prossimo;
- }
- int temp;
- for(i = 0; i<n-1; i++) {
- for(k = 0; k<n-1-i; k++) {
- if(v[k] > v[k+1]) {
- temp = v[k];
- v[k] = v[k+1];
- v[k+1] = temp;
- }
- }
- }
- i = 0;
- Lista *q = l;
- while(q!= NULL)
- {
- q->valore= v[i];// ributto dentro le struct il vettore ordinato
- i++;
- q = q->prossimo;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement