M4 L3 info Insertion sort

Sortarea prin inserție inserează un element din vector exact acolo unde e nevoie de el.

Sortarea prin inserție (Insertion Sort) se bazează pe următoarea idee: fie un vector X[] cu n elemente; dacă secvența cu indici 0 , 1 , …, i-1 este ordonată, atunci putem insera elementul X[i] în această secvență astfel încât să fie ordonată secvența cu indici 0 , 1 , …, i-1 , i .

//M4 L3 sortare prin insertie
#include <iostream>

using namespace std;

int main()
{
    int v[100],n;
    cout << "Dati nr de elemente ale vectorului:";
    cin >> n;

    //citire de la tastatura
    for(int i=0; i<n; i++){
        cout << "v[" << i << "]= ";
        cin >> v[i];
    }

    //afisare pe ecran
    for(int i=0; i<n; i++){
        cout << v[i] << " ";
    }
    cout << '\n';

    //sortare prin insertie
    for(int i = 1 ; i < n ; i ++)
    {
    int p = i;
        while(p > 0 && v[p] < v[p-1])
        {
            int aux = v[p];
            v[p] = v[p-1];
            v[p-1] = aux;
            p --;
        }
    }

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

Temă:

Să se modifice programul de mai sus astfel încât vectorul sortat să se afișeze într-un fișier de ieșire (ex. date.out).