Cod sursa(job #1499279)

Utilizator Julian.FMI Caluian Iulian Julian. Data 10 octombrie 2015 14:08:16
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
#define nmax 500009

using namespace std;
long n,a[nmax];
ifstream fin("algsort.in");
ofstream fout("algsort.out");

void sortare(long st,long dr)
{
long i=st,j=dr,x=a[st];
while(i<j)
    {while(i<j && a[j]>=x)j--;
        a[i]=a[j];
    while(i<j && a[i]<=x)i++;
        a[j]=a[i];
    }
    a[i]=x;
    if(i-1>st)sortare(st,i-1);
    if(i+1<dr)sortare(i+1,dr);
}


int main()
{long i;
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>a[i];
    sortare(1,n);
   for(i=1;i<=n;i++)
        fout<<a[i]<<' ';

}