Cod sursa(job #1088149)

Utilizator nicnic28nichita trita nicnic28 Data 20 ianuarie 2014 11:18:06
Problema Sortare prin comparare Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream in("algsort.in");
ofstream out("algsort.out");
const int N=500001;
int n,v[N];

void qsort(int st, int dr){
    if(st>=dr) return;
    int a=v[(st+dr)/2];
    v[(st+dr)/2]=v[dr];
    v[dr]=a;
    int si=st;
    for(int i=st ; i<dr ; i++){
        if(v[i]<v[dr]){
            a=v[i];
            v[i]=v[si];
            v[si]=a;
            si++;
        }
    }
    a=v[si];
    v[si]=v[dr];
    v[dr]=a;
    qsort(st,si-1);
    qsort(si+1,dr);
}

int main()
{
    in>>n;
    for(int i=1 ; i<=n ; i++){
        in>>v[i];
    }
    qsort(1,n);
    for(int i=1 ; i<=n ; i++){
        out<<v[i]<<' ';
    }
    return 0;
}