Cod sursa(job #2218808)

Utilizator silvereaLKovacs Istvan silvereaL Data 5 iulie 2018 21:08:48
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include <iostream>
#include <fstream>

using namespace std;

void quickSort(int x[], int n, int left, int right)
{
    int l = left;
    int r = right;
    int mid = (l + r) / 2;
    int pivot = x[mid];
    while (l < r)
    {
        while (l < mid && x[l] < pivot)
            ++l;
        while (r > mid && x[r] > pivot)
            --r;
        if (l <= r)
        {
            int tmp = x[l];
            x[l] = x[r];
            x[r] = tmp;
            ++l;
            --r;
        }
    }
    if (l < right)
        quickSort(x, n, l, right);
    if (r > left)
        quickSort(x, n, left, r);
}

int x[500000];
int n;
ifstream fcin("algsort.in");
ofstream fcout("algsort.out");

int main()
{
    fcin >> n;
    for (int i = 0; i < n; ++i)
        fcin >> x[i];
    quickSort(x, n, 0, n - 1);
    for (int i = 0; i < n; ++i)
        fcout << x[i] << ' ';
}