Cod sursa(job #2637235)

Utilizator BAlexandruBorgovan Alexandru BAlexandru Data 21 iulie 2020 23:02:36
Problema Sortare prin comparare Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>

using namespace std;

ifstream f("algsort.in");
ofstream g("algsort.out");

int n;
int v[500001];

int Partition(int arr[], int left, int right)
{
    int pivot = arr[right];
    int i = left;

    for (int j = left; j < right; j++)
        if (arr[j] < pivot)
        {
            swap(arr[i], arr[j]);
            i++;
        }

    swap(arr[i], arr[right]);

    return i;
}

void QuickSort(int arr[], int left, int right)
{
    if (left < right)
    {
        int pi = Partition(arr, left, right);
        QuickSort(arr, left, pi - 1);
        QuickSort(arr, pi + 1, right);
    }
}

int main()
{
    f >> n;
    for (int i=1; i<=n; i++)
        f >> v[i];

    QuickSort(v, 1, n);

    for (int i=1; i<=n; i++)
        g << v[i] << " ";

    return 0;
}