Cod sursa(job #1021912)

Utilizator dan.ghitaDan Ghita dan.ghita Data 4 noiembrie 2013 14:36:32
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<iostream>
#include<fstream>
#include<ctime>
#include<cstdlib>
#include<algorithm>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
int v[500001], n;
void qsort(int a, int b)
{
    int i=a, j=b;
    srand(time(0));
    int p=a+rand()%(b-a+1);
    while(i<=j)
    {
        while(v[i]<p)
            ++i;
        while(v[j]>p)
            --j;
        if(i<=j)
            swap(v[i], v[j]), ++i, --j;
    }
    if(a<j)
        qsort(a,j);
    if(i<b)
        qsort(i,b);

}
int main()
{
f>>n;
for(int i=1;i<=n;++i)
    f>>v[i];
qsort(1, n);
for(int i=1; i<=n; ++i) g<<v[i]<<' ';
}