Cod sursa(job #1799363)

Utilizator refugiatBoni Daniel Stefan refugiat Data 6 noiembrie 2016 11:14:45
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream si("algsort.in");
ofstream so("algsort.out");
int v[3000005];
void sortare(int st,int dr)
{
    if(st>=dr)
        return;
    int piv=v[(st+dr)>>1];
    int i=st,j=dr,aux;
    while(i<=j)
    {
        while(i<=dr&&piv>v[i])
            ++i;
        while(j>=st&&piv<v[j])
            --j;
        if(i<=j)
        {
            aux=v[i];
            v[i]=v[j];
            v[j]=aux;
            ++i;
            --j;
        }
    }

    sortare(st,j);
    sortare(i,dr);
}
int main()
{
    int n;
    si>>n;
    int i;
    for(i=1;i<=n;++i)
        si>>v[i];
    sortare(1,n);
    for(i=1;i<=n;++i)
        so<<v[i]<<' ';
    return 0;
}