Cod sursa(job #2279372)

Utilizator RedPipperNastasa Stefan-Alexandru RedPipper Data 9 noiembrie 2018 15:10:27
Problema Sortare prin comparare Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int v[500001], piv, n;

void quicksort(int v[],int left,int right)
{
    int i=left,j=right;
    int k;
    int p=v[(i+j)/2];
    //!partitie
    while(i<=j)
    {
        while(v[i]<p)i++;
        while(v[j]>p)j--;
        if(i<=j)
        {
            int aux=v[i];
            v[i]=v[j];
            v[j]=aux;
            i++;
            j--;
        }
    }

    //!recursivitate
    if(left<j)quicksort(v,left,j);
    if(right>i)quicksort(v,i,right);

}

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;
}