Cod sursa(job #2740938)

Utilizator Uriesu_IuliusUriesu Iulius Uriesu_Iulius Data 14 aprilie 2021 20:17:59
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <bits/stdc++.h>
#define iPair pair<int, int>

using namespace std;

ifstream fin("algsort.in");
ofstream fout("algsort.out");

int n;
int v[500001];

void QuickSort(int st, int dr)
{
    int i, j, p, aux;
    i=st;
    j=dr;
    p=v[(st+dr)/2];
    do
    {
        while(i<dr && v[i]<p)
            i++;
        while(j>st && v[j]>p)
            j--;
        if(i<=j)
        {
            aux=v[i];
            v[i]=v[j];
            v[j]=aux;
            i++;
            j--;
        }
    }while(i<=j);
    if(i<dr)
        QuickSort(i, dr);
    if(j>st)
        QuickSort(st, j);
}

int main()
{
    int i;
    fin >> n;
    for(i=1; i<=n; i++)
        fin >> v[i];
    QuickSort(1, n);
    for(i=1; i<=n; i++)
        fout << v[i] << ' ';
    return 0;
}