Cod sursa(job #2900765)

Utilizator Balauta_AlbertBalauta Albert Balauta_Albert Data 12 mai 2022 09:27:44
Problema Sortare prin comparare Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>
#define N 500005
using namespace std;

int v[N],tmp[N],n,m;

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

void QuickSort(int v[], int st, int dr)
{
    if(st < dr)
    {
        //pivotul este inițial v[st]
        int m = (st + dr) / 2;
        swap(v[st],v[m]);
        int i = st , j = dr, d = 0;
        while(i < j)
        {
            if(v[i] > v[j])
            {
                swap(v[i],v[j]);
                d = 1 - d;
            }
            i += d;
            j -= 1 - d;
        }
        QuickSort(v, st , i - 1);
        QuickSort(v, i + 1 , dr);
    }
}
int main()
{

    fin >> n;

    for(int i=1;i<=n;++i)
        fin >>v[i];

    QuickSort(v,1,n);

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

    return 0;
}