M4 L1 info Bubble sort

Metoda bulelor (bubble sort) este cea mai simplă metodă de sortare. Ea se bazează pe utilizarea unei variabile auxiliare cu ajutorul căreia se face inter-schimbarea valorilor a două variabile adiacente.

Este ce mai costisitoare metodă din punct de vedere computațional.

În programul de mai jos avem două sortări: crescătoare și descrescătoare:

/*Metoda bulelor*/
#include <iostream>

using namespace std;

int main()
{
    int v[100],n;
    cout<<"Nr de elemente din vector "; cin>>n;

    //citire vector
    for(int i=0; i < n ;i++){
        cout << "v[" << i <<"]= "; cin >> v[i];
    }
    cout << "Valorile din vector sunt: " << endl;

    //Afisare vector
    for(int i=0; i < n ;i++){
            cout << v[i] <<" ";
    }
    cout << '\n';
    cout<< "Sortare vector crescator" << endl;

    //bubble sort crescator
     for(int i=0; i < n-1 ;i++)
        for(int j=0; j< n-i-1; j++)
        {
        int aux;
        if(v[j]>v[j+1]){
            aux = v[j];
            v[j] = v[j+1];
            v[j+1] = aux;
        }
     }

       //Afisare vector
    for(int i=0; i < n ;i++){
            cout << v[i] <<" ";
    }

     cout << '\n';
    cout<< "Sortare vector descrescator" << endl;

    //bubble sort descrescator
     for(int i=0; i < n-1 ;i++)
        for(int j=0; j< n-i-1; j++)
        {

        if(v[j]<v[j+1]){
            swap(v[j],v[j+1]);
        }
     }

     //Afisare vector
    for(int i=0; i < n ;i++){
            cout << v[i] <<" ";
    }
    return 0;
}

Rezultatul rulării programului pentru n=5 iar valorile vectorului fiind 5,45,23,289,4 este:

Nr de elemente din vector 5
v[0]= 5
v[1]= 45
v[2]= 23
v[3]= 289
v[4]= 4
Valorile din vector sunt:
5 45 23 289 4
Sortare vector crescator
4 5 23 45 289
Sortare vector descrescator
289 45 23 5 4
Process returned 0 (0x0)   execution time : 25.805 s
Press any key to continue.

Temă:

Să se modifice programul de mai sus astfel încât să se afișeze rezultatul sortării într-un fișier.