Cod sursa(job #2310871)

Utilizator AndreiLunguLungu Andrei Sebastian AndreiLungu Data 2 ianuarie 2019 12:07:18
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n , a[500004];
void Quicksort(int a[] , int st , int dr)
{
    int i , j , pivot , aux;
    i = st;
    j = dr;
    pivot = a[(st + dr) / 2];
    while(i <= j)
    {
        while(a[i] < pivot)
            i++;
        while(a[j] > pivot)
            j--;
        if(i <= j)
        {
            aux = a[i];
            a[i] = a[j];
            a[j] = aux;
            i++;
            j--;
        }
    }
    if(st < j)
        Quicksort(a , st , j);
    if(i < dr)
        Quicksort(a , i , dr);
}
int main()
{
    int i;
    fin >> n;
    for(i = 1; i <= n; i++)
        fin >> a[i];
    fin.close();
    Quicksort(a , 1 , n);
    for(i = 1; i <= n; i++)
        fout << a[i] << " ";
    fout.close();
    return 0;
}